Well, yesterday I started learning how to use AJAX and well I saw this page: http://www.formget.com/submit-form-using-ajax-php-and-jquery/ where everything was well explained. So, I coded the next:
if(isset($_POST['edited'])) {
$real_name = mysqli_real_escape_string($conn, $_POST['real_name']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$gender = mysqli_real_escape_string($conn, $_POST['gender']);
$date_day = mysqli_real_escape_string($conn, $_POST['date_day']);
$date_month = mysqli_real_escape_string($conn, $_POST['date_month']);
$date_year = mysqli_real_escape_string($conn, $_POST['date_year']);
$final_date = $date_day."-".$date_month."-".$date_year;
$location = mysqli_real_escape_string($conn, $_POST['location']);
$web_title = mysqli_real_escape_string($conn, $_POST['web_title']);
$web_url = mysqli_real_escape_string($conn, $_POST['web_url']);
$skype = mysqli_real_escape_string($conn, $_POST['skype']);
if($my_stats['real_name'] != $_POST['real_name']) {
mysqli_query($conn, "UPDATE users SET real_name = '$real_name' WHERE id = '$my_id'");
}
if($my_stats['email'] != $_POST['email']) {
$act = md5(time());
mysqli_query($conn, "UPDATE users SET email = '$email' WHERE id = '$my_id'");
mysqli_query($conn, "UPDATE users SET activation = '$act' WHERE id = '$my_id'");
mail($email, 'GimmeAHit! - Activación de correo', '¡Hola! Para activar tu cuenta visita el siguiente link: http://'.$_SERVER['SERVER_NAME'].'/?action=act&code='.$act);
}
if($my_stats['gender'] != $_POST['gender']) {
mysqli_query($conn, "UPDATE users SET gender = '$gender' WHERE id = '$my_id'");
}
if($my_stats['birthdate'] != $final_date) {
mysqli_query($conn, "UPDATE users SET birthdate = '$final_date' WHERE id = '$my_id'");
}
if($my_stats['location'] != $_POST['location']) {
mysqli_query($conn, "UPDATE users SET location = '$location' WHERE id = '$my_id'");
}
if($my_stats['web_title'] != $_POST['web_title']) {
mysqli_query($conn, "UPDATE users SET web_title = '$web_title' WHERE id = '$my_id'");
}
if($my_stats['web_url'] != $_POST['web_url']) {
mysqli_query($conn, "UPDATE users SET web_url = '$web_url' WHERE id = '$my_id'");
}
if($my_stats['skype'] != $_POST['skype']) {
mysqli_query($conn, "UPDATE users SET skype = '$skype' WHERE id = '$my_id'");
}
}
And my AJAX call:
echo '<script>
function showUpdateNode(elem) {
elem.parentNode.childNodes[1].style.display = "none";
elem.parentNode.childNodes[2].style.display = "inline";
elem.parentNode.childNodes[3].style.display = "none";
}
function sendSForm() {
var real_name = document.getElementById("real_name").value;
var date_day = document.getElementById("day_select").value;
var date_month = document.getElementById("month_select").value;
var date_year = document.getElementById("year_select").value;
var gender = document.getElementById("gender").value;
var location = document.getElementById("location").value;
var web_title = document.getElementById("website_title").value;
var web_url = document.getElementById("website_url").value;
var skype = document.getElementById("skype").value;
var email = document.getElementById("email").value;
var dataString = "real_name="+real_name+"&date_day="+date_day+"&date_month="+date_month+"&date_year="+date_year+"&gender="+gender+"&location="+location+"&web_title="+web_title+"&web_url="+web_url+"&skype="+skype+"&email="+email+"&edited=a";
$.ajax({
type: "POST",
url: "/sources/edit_profile.php",
data: dataString,
cache: false,
success: function() {
document.location.reload(true);
}
});
return false;
}
</script>';
Everything is in the same file, but for some reason when I make the AJAX call, nothing happens...
I tried to know what exactly happens, with success: function(html) {alert(html);}
and if(isset($_POST['edited']) {echo "Okay!";}
but the alert is empty!..
Maybe something is wrong with the dataString
variable, what can you see where I went wrong? Any suggetion?
Edit There aren't errors in the console :/ (I think that the error is in PHP, but where, I think all is right...)