繁体   English   中英

如何单独检查数据库中是否存在PHP用户名或电子邮件

[英]How to separately check if PHP username or email exists in database

现在我的代码检查用户名和电子邮件变量是否都存在于数据库中,因为它们都是唯一的键,但是我该如何制作它以便我可以单独检查每个并输出不同的响应?

例如如果用户名存在->“那个用户名已经存在。” 或者,如果电子邮件存在,但用户名不存在 ->“该电子邮件已经存在。”

<?php
  include 'include/connection.php';

  $username = mysqli_real_escape_string($conn, $_REQUEST['username']);
  $password = mysqli_real_escape_string($conn, $_REQUEST['password']);
  $name = mysqli_real_escape_string($conn, $_REQUEST['name']);
  $email = mysqli_real_escape_string($conn, $_REQUEST['email']);

  $sql = "INSERT INTO userdata (username, password, name, email) VALUES ('$username', '$password', '$name', '$email')";

  if (mysqli_query($conn, $sql)) {
    echo "Your account was created successfully, please login to continue.";
    echo '<form action="login.php">
            <input type="submit" name="login" id="login" value="Login" />
          </form>';
  } else {
    echo "That username already exists, please try again.";
    echo '<form action="registration.php">
            <input type="submit" name="register" id="register" value="Register" />
          </form>';
  }
?>

使用函数并编写 SQL 来检查emailusername的可能方法之一。

SELECT username, email from userdata where username = ? OR email = ?

并且,遍历结果集并检查emailusername存在并相应地返回错误消息。

尝试这个

 $checkUserNameSql = "Select Count(username) as username from userdata WHERE username = '".$username."'";

$result=mysql_query($checkUserNameSql);
$data=mysql_fetch_assoc($result);

echo $data['username'];

如果你得到一个计数,你可以申请你的支票。

使用下面的代码。 首先您需要检查用户名和电子邮件,然后插入记录。

include 'include/connection.php';
$username = mysqli_real_escape_string($conn, $_REQUEST['username']);
  $password = mysqli_real_escape_string($conn, $_REQUEST['password']);
  $name = mysqli_real_escape_string($conn, $_REQUEST['name']);
  $email = mysqli_real_escape_string($conn, $_REQUEST['email']); 

  $checkUser    = 'select  email ,username from userdata where email="'.$email.'" or username = "'.$username.'"';
  $result       = mysqli_query($conn,$checkUser);
  $row          = mysqli_fetch_assoc($result);
  if(!empty($row)){
    if($row['email']==$email){
        echo "That email already exists. Please try again";
    }
    else if($row['username']==$username){
        echo "That username already exists. Please try again";
    }

    echo '<form action="registration.php">
        <input type="submit" name="register" id="register" value="Register" />
      </form>';
  }
  else{

    $sql = "INSERT INTO userdata (username, password, name, email) VALUES ('$username', '$password', '$name', '$email')";
    if (mysqli_query($conn, $sql)) {
    echo "Your account was created successfully, please login to continue.";
    echo '<form action="login.php">
            <input type="submit" name="login" id="login" value="Login" />
          </form>';
     }
  }

暂无
暂无

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

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