Попробуйте изменить $.post()
вызов на это:
$.ajax({
type: "POST",
url: "join.php",
data: dataString,
success: function(data) {
alert ("Success: "+ data);
}
});
И, в начале кода PHP, поместите это:
var_dump($_POST);
Таким образом, предупреждениебудут отображаться данные, полученные из PHP.
ОБНОВЛЕНИЕ:
Поскольку я вижу, что здесь никто не видит огромной угрозы безопасности с этим кодом, я добавляю его здесь:
Будьте оченьубедитесь, что вы передаете каждую строку от post до mysql_real_escape_string()
, прежде чем добавлять ее в запрос!
Что если кто-нибудь отправит это как свой адрес электронной почты ??:
'); DROP TABLE clients; --
UPDATE:
Я дважды проверил документацию jQuery.ajax()
и jQuery.post()
.В то время как .post()
является просто ярлыком для .ajax()
, их синтаксис отличается:
jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
jQuery.ajax( settings )
(обновленный код также выше).
ОБНОВЛЕНИЕ:
Попробуйте этокод, который должен работать "из коробки":
JavaScript:
$(document).ready(function(){
$(".submit").click(function() {
$('.error').hide();
var studentEmail = $("input#studentEmail").val();
if (studentEmail == "") {
$("label#studentEmail_error").show();
$("input#studentEmail").focus();
return false;
}
var dataString = {
studentEmail : studentEmail,
studentPassword : $("#studentPassword").val(),
parentEmail : $("#parentEmail").val(),
parentPassword : $("#parentPassword").val(),
studentFirstName : $("#studentFirstName").val(),
studentLastName : $("#studentLastName").val(),
studentPhone : $("#studentPhone").val(),
parentFirstName : $("#parentFirstName").val(),
parentLastName : $("#parentLastName").val(),
parentPhone : $("#parentPhone").val(),
};
$.ajax({
type: "POST",
url: "join.php",
data: dataString,
success: function(data) {
alert ("success: "+ data);
}
});
return false;
});
});
PHP-код
var_dump($_POST);
echo "\n\n"; // Some white space here
if($_POST) {
$connection = mysql_connect("localhost","XXXX","XXXX");
if(!$connection) {
die("Database connection failed: ". mysql_error());
}
if (!mysql_select_db("XXXX",$connection)) {
die("Database selection failed: " . mysql_error());
}
// Read data from POST
$studentEmail = mysql_real_escape_string($_POST['studentEmail']);
$studentPassword = mysql_real_escape_string($_POST['studentPassword']);
$parentEmail = mysql_real_escape_string($_POST['parentEmail']);
$parentPassword = mysql_real_escape_string($_POST['parentPassword']);
$studentFirstName = mysql_real_escape_string($_POST['studentFirstName']);
$studentLastName = mysql_real_escape_string($_POST['studentLastName']);
$studentPhone = mysql_real_escape_string($_POST['studentPhone']);
$parentFirstName = mysql_real_escape_string($_POST['parentFirstName']);
$parentLastName = mysql_real_escape_string($_POST['parentLastName']);
$parentPhone = mysql_real_escape_string($_POST['parentPhone']);
$sql = "INSERT INTO clients ".
"(`studentEmail`, `studentPassword`, `parentEmail`, `parentPassword`, ".
"`studentFirstName`, `studentLastName`, `studentPhone`, `parentFirstName`, ".
"`parentLastName`, `parentPhone`) ".
" VALUES ('$studentEmail', '$studentPassword', '$parentEmail', ".
"'$parentPassword', '$studentFirstName', '$studentLastName', ".
"'$studentPhone', '$parentFirstName', '$parentLastName', '$parentPhone')";
$result = mysql_query($sql);
if ($result) {
echo "Database query successful!";
}
else {
die("Database query failed: " . mysql_error());
}
}