繁体   English   中英

检查是否使用了用户名

[英]Checking if Username is taken

我已经用代码尝试了多种方法来测试现有用户名,但无法实现。 当字母键不正确时,它不会插入数据库。 我尝试编写它,但似乎无法正常工作!

<?php
if (isset($_POST['submit'])) {
    if (!empty($_POST['user']) && !empty($_POST['pass']) && !empty($_POST['alphakey'])) {
        //mysql_real_escape_string() escapes special characters in a string for use in an SQL statement
        $user     = mysql_real_escape_string($_POST['user']);
        $pass     = mysql_real_escape_string($_POST['pass']);
        $alphakey = mysql_real_escape_string($_POST['alphakey']);

        $con = mysql_connect('localhost', '<UserName>', '<Password') or die(mysql_error());
        mysql_select_db('user') or die("cannot select DB");

        $query = mysql_query("SELECT * FROM login WHERE user='" . $user . "'");

        $numrows = mysql_num_rows($query);

        // if user doesn't exist...
        if ($numrows == 0) {
            $encrypt_password = md5($_POST["pass"]);
            $query_key = mysql_query("SELECT * FROM regkey WHERE alphakey='" . $_POST["alphakey"] . "'") or die(mysql_error());
            $check_key = mysql_num_rows($query_key);


            if ($check_key > 0) {
                $sql = mysql_query("INSERT INTO login (user,pass) 
                    VALUES ('" . $_POST["user"] . "','$encrypt_password')") or die(mysql_error());
            }
        } // brace for if($numrows==0)

        if ($sql) {
            echo "<center>Success, You're now registered</center><br/>";
        } else {
            echo "<center>Invalid Alpha Key, Please try again!</center><br/>";
        }
    }
}
?>

你需要检查一下

$check_key = mysql_num_rows($query_key);


if($check_key < 1){

    $sql = mysql_query("INSERT INTO login (user,pass) 
                VALUES ('".$_POST["user"]."','$encrypt_password')") 

      or die(mysql_error());
    }
} // brace for if($numrows==0)

暂无
暂无

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

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