php - 如何检查邮箱是否已经注册?

标签 php mysql database pdo

我正在尝试检查电子邮件是否已使用 PDO 注册,但到目前为止我还没有找到执行此操作的好方法。这是我到目前为止所拥有的。如果有帮助,连接变量是“$con”。另外,我是否需要在同一个文档中使用连接变量,还是它会在包含工作的文档中?

<link rel="stylesheet" type="text/css" href="css\errors.css">
<?php
require 'header.php';
if (!$_POST['submit']) {
?>
<html>
<a href="register.html">Regsiter here!</a>
<?php
} else {
    require 'connect.php';
    $firstname = ($_POST['firstname']);
    $lastname = ($_POST['lastname']);
    $email = ($_POST['email']);
    $password = ($_POST['password']);
    $passwordconf = ($_POST['passwordconf']);

    $errorfields = "<p class='errormsg'>Please fill out all the fields!</p>";
    if (empty($firstname) || empty($lastname) || empty($email) || empty($password) || empty($passwordconf)) {
        echo "$errorfields";
    }
    $erroremail = "<p class='errormsg'>Email is not in name@domain format!</p>";
    $regex = "/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+.[a-z]{2,}$/i";
    if (!preg_match($regex, $email)) {
        echo "$erroremail";
    }
    $errorpassword = "<p class='errormsg'>You passwords do not match!</p>";
    if ($password != $passwordconf) {
        echo "$errorpassword";
    }

    //this is where email is checked
}
?>

最佳答案

试试这个,用你的连接凭证填写 DB_NAME、DB_USER_NAME 和 DB_USER_PASS,或者如果一切都正确设置为 PDO 对象,则使用 $con 变量:

$con = new PDO( 'mysql:host=localhost;dbname=DB_NAME;charset=UTF-8', 'DB_USER_NAME', 'DB_USER_PASS' );

$query = $con->prepare( "SELECT `email` FROM `tbl_name` WHERE `email` = ?" );
$query->bindValue( 1, $email );
$query->execute();

if( $query->rowCount() > 0 ) { # If rows are found for query
     echo "Email found!";
}
else {
     echo "Email not found!";
}

关于php - 如何检查邮箱是否已经注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15287011/

相关文章:

php - 使用 php 查看 mysql 的结果

php - MySQL - 为具有层次结构的项目输出正确的顺序?

php - 数据库设计 - 多个报表类型保存在一个表或多个表中

php - 关于 PHP PDO Select for Update Transaction 的说明

php - 在同一个文件中找不到类

php - 覆盖 pear 包

python - 为什么 appengine 数据库键的排序方式与字符串不同

php - 如何在 mysql 中使用带有 OR 子句的 'INSERT INTO IGNORE' 或 'NOT EXISTS'

php - 如何在 Yii2 中仅使用 1 个连接查询来获取多 ActiveRecord 模型?

Java - 航空公司预订按钮