几天前发现了这个论坛,但仍然没有足够的贡献 - 我希望很快就会发生:)
现在我正在经历一些奇怪的事情,我希望有人可以帮助我。
在以下php代码中:
当我运行它并输入有效的用户名和密码时,它总会将我发送到failed.php,尽管它应该返回结果。
当我在if子句之前添加一个随机的“echo”时,它会进入正确的分支,但当然不能再执行标题(“Location ..”)。
有没有人知道我在这里缺少什么或者为什么会这样? 可能是我不知道的PHP设置吗?
提前谢谢 SEB(注意我知道php4不是最新的,sql注入等 - 我只是想知道并且可能理解为什么会发生这种情况;)
<?php
include("config.php");
$query = 'select * from users where username = "' .
$_POST['username'] . '" and password = "' .
md5($_POST['password']) . '"';
$select_user = mysql_query($query);
//echo "something";
if ($select_user && ($row = mysql_fetch_row($select_user)))
{
$user_id = $row[0];
session_start();
session_register('authorized');
$_SESSION['authorized'] = true;
$_SESSION['uid'] = $user_id;
//echo "anothersomething";
header("Location: portal.php");
exit;
}
else
{
$_SESSION['authorized'] = false;
$_SESSION['uid'] = 0;
header("Location: failed.php");
exit;
}
@MYSQL_CLOSE($db);
?>