简体   繁体   English

使用 pdo 检查电子邮件是否存在

[英]Check if the email exists using pdo

This is the section I use to add users.这是我用来添加用户的部分。

<?php

    session_start();

    if( isset($_SESSION['user_id']) ){
        header("Location: ./index.php");
    }

    require 'conn.php';

    $message = '';

    if(!empty($_POST['name']) &&!empty($_POST['email']) && !empty($_POST['password'])):

        // Enter the new user in the database
        $sql = "INSERT INTO users (name, email, password) VALUES (:name,:email, :password)";
        $stmt = $conn->prepare($sql);

        $stmt->bindValue(':name', $_POST['name']);
        $stmt->bindValue(':email', $_POST['email']);
        $stmt->bindValue(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));

        if( $stmt->execute() ):
            $message = 'Successfully created new user';
        else:
            $message = 'Sorry there must have been an issue creating your account';
        endif;

    endif;

    ?>

I personally do it by using a query and an if statement我个人通过使用查询和 if 语句来做到这一点

$query = $conn->prepare("SELECT * FROM users WHERE email = :email");
$query->bindParam(':email', $_POST['email']);
if ($query->rowcount() = 0)
{
// insert account into database
}
else {
// display error message
}

To check if the email exists or not, you have to write a query whether that email is stored in the database.要检查电子邮件是否存在,您必须编写查询该电子邮件是否存储在数据库中。 If the query result is not empty, you can show a message that the email exists.如果查询结果不为空,可以显示邮件存在的信息。 If the query result is empty, you can make him a new user.如果查询结果为空,可以将他设为新用户。

For that you have to write this query为此,您必须编写此查询

$sql="select name from user where email='$email'"; 
$stmt = $conn->prepare($sql);    

if ($stmt->rowcount() = 0)
{
 $sql = "INSERT INTO users (name, email, password) VALUES (:name,:email, :password)";
        $stmt = $conn->prepare($sql);

        $stmt->bindValue(':name', $_POST['name']);
        $stmt->bindValue(':email', $_POST['email']);
        $stmt->bindValue(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));
}
else {
  $msg="Email already exists";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM