我還有另一個問題。但是這次它與用戶確認。用戶註冊後,他們收到一封電子郵件,鏈接爲mydomain.co.uk/confirm.php?username=(username)& id =(id)。一切都有效,但即使當用戶名和用戶名正確時,用戶仍未得到確認。繼承人的腳本:用戶確認腳本不工作,即使它應該PHP MYSQL
<?php
$id = $_REQUEST['id'];
$username = $_REQUEST['username'];
$link = mysql_connect('localhost', 'website', 'mypasswordtroll');
if(!$link) {
die('could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('website', $link);
if (!$db_selected) {
die ('Cant use database : ' . mysql_error());
}
$result = mysql_query("SELECT * FROM unconfirmedusers WHERE username = '$username' and id = $id");
if(mysql_num_rows($result)==0){
$continue = false;
}
while($row = mysql_fetch_array($result))
{
$usr = $row['username'];
$pass = $row['password'];
$email = $row['email'];
$day = $row['day'];
$month = $row['month'];
$year = $row['year'];
}
if($continue == false){
echo '<div class="alert alert-error"><b>Oh man!</b> No such user or id found!</div>';
echo $result;
}else{
$query2 = "DELETE FROM unconfirmedusers WHERE id='$id' and username='$username'";
$query3 = "INSERT INTO users (username, password, email, day, month, year) VALUES ('$usr', '$pass', '$email', $day, $month, $year)";
$result2 = mysql_query($query2);
$result3 = mysql_query($query3);
echo '<div class="alert alert-success"><b>Great! </b>You can now log in!</div>';
}
?>
我找不到任何不妥之處,我不知道哪一部分是不正確......任何人都可以發現任何錯誤,這將幫助我?
您需要立即停止使用此代碼。它容易受到SQL注入的影響。 [**不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。 – Kermit
您是否想過在查詢中添加一些檢查項,以便在運行時查看是否有任何錯誤? – andrewsi
當你想正確縮進你的代碼時,你的編輯器會問你更多的錢嗎?如果否,那麼感到有義務這樣做。你會感謝我以後。 –