gpt4 book ai didi

php - 检查用户存在语句是否有效,而电子邮件语句在 PDO 中无效

转载 作者:行者123 更新时间:2023-11-29 20:56:14 25 4
gpt4 key购买 nike

我刚刚遇到了一个非常奇怪的问题。用户检查语句有效,而电子邮件语句由于某种原因无效。下面的代码也是在两个 if 之外定义的 $con 。我认为这不是问题,因为用户名检查确实有效。

if(!empty($username)){
$username = $_POST['username'];

$stmt = $con->prepare("SELECT username from users where username= :name");
$stmt->bindParam(':name', $username);
$stmt->execute();
$rowcount = $stmt->rowCount($stmt);
if($rowcount > 0){
$errors[] = "name taken";
}
/* doesn't work for some reason */
if(!empty($email)){
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
$email = $_POST['email'];
filter_var($email,FILTER_SANITIZE_EMAIL);
$stmt = $con->prepare("SELECT email from users where email= :email");
$stmt->bindParam(':email', $email);
$stmt->execute();
$rowcount = $stmt->rowCount($stmt);
if($rowcount > 0){
$errors[] = "email is already taken";
}
}
}
}

如您所见,用户名 errors[] 有效,而电子邮件则无效。我什至尝试回显它仍然没有希望:(

最佳答案

if 语句中使用 $email 之前,您应该先对其进行赋值。因此,在$username之后进行初始化,例如:

if(!empty($username)){
$username = $_POST['username'];
$email = $_POST['email'];
...

关于php - 检查用户存在语句是否有效,而电子邮件语句在 PDO 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37609374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com