如何检查邮箱是否已经注册? [英] How to check if email is already registered?

查看:52
本文介绍了如何检查邮箱是否已经注册?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试检查是否已经使用 PDO 注册了电子邮件,但到目前为止我还没有找到一个好的方法.这就是我迄今为止所拥有的.如果有帮助,连接变量是$con".另外,我需要在同一个文档中使用连接变量还是在包含的文档中工作?

I am trying to check to see if an email is already registered using PDO, but I have not found a good way to do this so far. This is what I have so far. And the connection variable is "$con" if that helps. Also, do I need the connection variable in the same document or will it being in a document that is included work?

<link rel="stylesheet" type="text/css" href="csserrors.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 或者使用 $con 变量,如果一切都正确设置为 PDO 对象:

Try this, fill in DB_NAME, DB_USER_NAME, and DB_USER_PASS with your connection credentials or use the $con variable if everything is set up correctly as a PDO object with it:

$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!";
}

这篇关于如何检查邮箱是否已经注册?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆