Lig*_*ist 0 php mysql passwords variables hash
您好
当我打印以下变量时,我得到资源#6和资源#7:
$salty_password = sha1($row['salt'], $_POST['password']);
if(isset($_POST['subSignIn']) && !empty($_POST['email']) && !empty($_POST['password'])) {
$query = "SELECT `salt` FROM `cysticUsers` WHERE `Email` = '" . $_POST['email'] . "'";
$request = mysql_query($query,$connection) or die(mysql_error());
$result = mysql_fetch_array($request);
$query2 = "SELECT * FROM `cysticUsers` WHERE `Email` = '". $_POST['email']."' AND `Password` = '$salty_password'";
$request2 = mysql_query($query2,$connection) or die(mysql_error());
$result = mysql_fetch_array($request2);
print_r($request);
print_r($request2);
if(@mysql_num_rows($request,$request2)) {
$_SESSION['CLIFE']['AUTH'] = true;
$_SESSION['CLIFE']['ID'] = $result['id'];
// UPDATE LAST ACTIVITY FOR USER
$query = "UPDATE `cysticUsers` SET `LastActivity` = '" . date("Y-m-d") . " " . date("g:i:s") . "' WHERE `id` = '" . mysql_real_escape_string($_SESSION['CLIFE']['ID']) . "' LIMIT 1";
mysql_query($query,$connection);
if(!empty($_POST['return'])) {
header("Location: " . $_POST['return']);
}else{
header("Location: CysticLife-Dashboard.php?id=" . $_SESSION['CLIFE']['ID']);
}
}
}else{
$_SESSION['CLIFE']['AUTH'] = false;
$_SESSION['CLIFE']['ID'] = false;
}
?>
Run Code Online (Sandbox Code Playgroud)
尝试对此代码块进行故障排除,但不确定这意味着什么.我正在尝试使用我在哈希和盐腌后注册的明文密码重新登录.我觉得我非常接近,但有点不对劲.关于为什么不起作用的帮助也将不胜感激.
提前致谢
mysql_query()将结果集作为类型的对象返回resource(它们不是PHP OOP代码中的对象,但我想不出更好的单词).它们包含只能由某些函数读取的二进制数据,例如mysql_fetch_*()函数.
要调试你的MySQL查询,你应该检查使用的错误mysql_error()和mysql_errno()和/或保存您的SQL语句中的变量和打印这些.
从我看到的,你执行两个查询但覆盖相同的$result变量,而不做任何关于第一个的任何事情.此外,mysql_num_rows()一次只能计算一个结果集,因此您无法将两个结果集传递到同一个调用中.
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |