这是我的php:
header('Content-type: application/json');
try {
$conn = new PDO('mysql:host=localhost;dbname=grand_debrouillage', 'gd_user', 'gd_p455w0rd');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (!empty($_POST['email'])) {
$stmt = $conn->prepare('SELECT id FROM users WHERE courriel = :courriel');
$stmt->bindParam(':courriel', $_POST['email'], PDO::PARAM_INT); // <-- Automatically sanitized by PDO
$stmt->execute();
if ($stmt->rowCount() == 0) {
echo json_encode(true); //good to register
}
else {
echo json_encode(false); //already registered
}
}
else {
echo json_encode(false); //invalid post var
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
这是我的js
$('#form').validate({ // initialize the plugin
rules: {
prenom: {required:true},
nom: {required:true},
email: {
required:true,
email:true,
remote: {
type: 'POST',
url:"email_check.php"
}
},
...
答案 0 :(得分:2)
很可能它在console.log($_POST);
上失败,这几乎不是PHP代码。
检查 web-server 日志中的语法错误。
答案 1 :(得分:-1)
所以问题在于,当我设置规则时,我必须将遥控器放在双引号中。
"remote": {
type: 'POST',
url: 'email_check.php',
data: {
email: function() {
return $('#form :input[name="email"]').val();
}
}
}