![](/img/trans.png)
[英]regex taken from jQuery.validate email method doesn't work with my php script
[英]PHP Email validate doesn't work and undefined posts
因此,问题是,无论我在电子邮件文本机器人中添加了什么内容,无论它是否是有效的电子邮件,它都会继续说:“请输入有效的电子邮件地址!” 我不认为该错误与电子邮件有效部分有关,因为当我摆脱该部分时,所有提交部分都将在遇到我定义的$ errors时说“ undefined”。
看起来像:
localhost says:
Array{
[regEmail] => undefined
[regUsername] => undefined
[regPass] => undefined
[regRePass] => undefined
}
这是我的PHP代码:
if ($_GET['action'] == "register"){
$error = "";
if (!$_POST['regEmail']){
$error = "An email address is required.";
} else if (!$_POST['regUsername']) {
$error = "Please enter a Username.";
} else if (!$_POST['regPass']){
$error = "Please enter a Password";
} else if (!$_POST['regRePass']){
$error = "Please enter a Password";
} else if ($_POST['regPass'] != $_POST['regRePass']) {
$error = "Passwords don't match.";
} else if (filter_var($_POST['regEmail'], FILTER_VALIDATE_EMAIL) === false) {
$error = "Please enter a valid email address!";
}
if($error != "") {
echo $error;
exit();
}
$queryEmail = "SELECT * FROM users WHERE email = '".mysqli_real_escape_string($link, $_POST['regEmail'])."'";
$queryUsername = "SELECT * FROM users WHERE username = '".mysqli_real_escape_string($link, $_POST['regUsername'])."'";
$resultEmail = mysqli_query($link, $queryEmail);
if(mysqli_num_rows($resultEmail) > 0) {
$error = "That email address is already in use.";
}
$resultUsername = mysqli_query($link, $queryUsername);
if(mysqli_num_rows($resultUsername) > 0) {
$error = "Sorry, that username is already taken.";
}
print_r($_POST);
}
这是发送帖子的脚本:
$("#register").click(function(){
$.ajax({
type: "POST",
url: "actions.php?action=register",
data: "regEmail=" + $("#regEmail").val() + "®Username=" + $("#regUsername").val() + "®Pass=" + $("#regPass").val() + "®RePass=" + $("#regRePass").val(),
success: function(result) {
alert(result)
}
})
})
如果还需要其他代码,我将发布。
试试这个
if (!isset($_POST['regEmail'])){
另外,尝试像这样发送数据:
data: ({
regEmail: $("#regEmail").val(),
regUsername: $("#regUsername").val(),
...
})
我弄清楚了问题所在。 在我的<input>
我有name="regEmail"
, name="regUsername"
等,当我将其更改为id="regEmail"
, id="regUsername"
...问题自行解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.