我創建了自己的這個賬號註冊激活腳本,我都檢查一遍並再次發現錯誤,我沒有看到一個具體的錯誤...帳戶激活PHP
您會是這樣:
http://domain.com/include/register.php?key=true&p=AfRWDCOWF0BO6KSb6UmNMf7d333gaBOB
它來自電子郵件,當用戶點擊它,他們重定向到該腳本:
if($_GET['key'] == true)
{
$key = $_GET['p'];
$sql = "SELECT * FROM users
WHERE user_key = '" . $key . "'";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows($result) > 0)
{
$sql = "UPDATE users
SET user_key = '', user_active = '1'
WHERE user_key = '" . $key . "'";
$result = mysql_query(sql) or die(mysql_error());
if($result)
{
$_SESSION['PROCESS'] = $lang['Account_activated'];
header("Location: ../index.php");
}
else
{
$_SESSION['ERROR'] = $lang['Key_error'];
header("Location: ../index.php");
}
}
else
{
$_SESSION['ERROR'] = $lang['Invalid_key'];
header("Location: ../index.php");
}
}
它甚至沒有工作,我查看數據庫中的用戶與該密鑰,它匹配,但它繼續作爲一個錯誤,這是非常討厭我。數據庫是正確的,表和列是正確的,沒有錯誤的數據庫,這是腳本不起作用。
幫幫我,夥計。
謝謝:)
mysql_real_escape_string是你的朋友。您應該轉義您的參數化屬性(例如來自URL的屬性)。在這種情況下,您的$ key變量。 http://ar.php.net/manual/en/function.mysql-real-escape-string.php – Lombo 2010-06-09 23:58:24
我已經知道了,我有一種被稱爲safeClean(功能)已包含的功能,以消毒數據,但我刪除它以確保它不是影響,因此它沒有,也沒有使用過的代碼。 MySQL轉義很好。 – MacMac 2010-06-10 00:12:18