我创建了自己的这个账号注册激活脚本,我都检查一遍并再次发现错误,我没有看到一个具体的错误...帐户激活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