I have a php file (todo.php & todo.js) which collects some data from user and uses ajax to post the collected data to another php file (add.php) to be added to database . My issue is that I don't want to use ajax to post the data to the second php file (add.php). How do I change this. I have extracted the codes and shown below
//todo.js is called from todo.php to validate new todoEntry
function addToDo(){
var descField = document.getElementById('nDesc');
var percField = document.getElementById('nPerc');
if( !validateField(descField) ){
alert("Description " + errorMessage);
return;
}
if( !validatePercentField(percField) ){
alert("Percentage " + errorMessage);
return;
}
//use ajax to post new entries to add.php which will add them
ajaxCall(encodeURI('add.php?description=' + descField.value
+ '&percentage=' + percField.value), function(response){
if( response.status == 200 ){
if( response.responseText.toString().indexOf
("success") != -1 ){
//clear values
descField.value = "";
percField.value = "";
//refresh table
fetchToDo();
}
else
alert(response.responseText);
}
});
}
From add.php:
<?php
session_start();
if( !isset($_SESSION['username']) ){
die("Your Session has expired. Please re-login to continue");
}
//get required data
$description = trim(isset($_GET['description']) ? urldecode($_GET
['description']) : "");
$percentage = trim(isset($_GET['percentage']) ? urldecode($_GET
['percentage']) : "");
//validate data
if( empty($description) || empty($percentage) ){
die("All fields are required!");
}
//connect to database
include('connect.php');
//insert data
$stmt = $mysqli->prepare("INSERT INTO todo_entry VALUES (NULL, ?, NOW
(), NOW(), ?, ?)");
$stmt->bind_param("ssi", $_SESSION['username'], $description,
$percentage);
$stmt->execute();
if( $stmt->affected_rows > 0 ){
$stmt->close();
echo "success";
}
else{
echo "An Error Occured: " . $stmt->error;
$stmt->close();
}
//close database
$mysqli->close();
?>
Aucun commentaire:
Enregistrer un commentaire