簡體   English   中英

PHP中的唯一用戶ID代碼不起作用

[英]Unique user id code in php doesnt work

最近,我正在使用php搜索唯一的用戶名注冊。.我遇到了一段代碼,顯示在下面:

<?php 
$fname=trim($_POST['fname']);
$lname=trim($_POST['lname']);
$email=trim($_POST['email']);
$usn=trim($_POST['usn']);
$dept=trim($_POST['dept']);
$pass=trim($_POST['pass']);
$tel=trim($_POST['tel']);

$dbh = mysql_connect('localhost', 'root','') or die("<h3 style=\"color:red;\" align=\"center\">SERVER ERROR</h3>");
mysql_select_db('fy') or die("<h3 style=\"color:red;\" align=\"center\">SERVER ERROR</h3>");

$error= mysql_query("SELECT * FROM stud WHERE email='$email' OR usn='$usn' OR tel='$tel'") or die (mysql_error()); 

if (mysql_num_rows($error) > 0);
{
    die ("Sorry! Either email, usn or tel already exists!");
}

$query="INSERT INTO stud (fname, lname, email, tel, usn, dept, pass) VALUES ('$fname', '$lname', '$email', '$tel', '$usn', '$dept', '$pass')";
mysql_query($query);
$query="INSERT INTO log VALUES ('$usn','$pass',0,0)";
mysql_query($query);
print("REGISTERED");



 ?>
 <a href="login.php">LOGIN</a><br />

此時,我的數據庫是完全空的。 我剛剛用所需的列創建了數據庫。 現在的問題是當我嘗試使用我的注冊頁面進行注冊時,它給了我我在模具中指定的錯誤,即

"Sorry! Either email, usn or tel already exists!"

如果數據庫中沒有值,怎么辦? 在我提供的注冊表中

action="register.php" 

作為處理文件。 我也嘗試了mysql_fetch_assoc() ,但是我得到了同樣的錯誤。 任何幫助表示贊賞。 謝謝 。

您的第一個問題是,正如John Conde所說,您的代碼容易受到SQL注入攻擊的攻擊。

您要回答的第二個問題可能是因為您有以下問題:

if (mysql_num_rows($error) > 0);

代替這個:

if (mysql_num_rows($error) > 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM