我知道有类似的线程,我看过那些线程,虽然它们似乎都不适合我
首先,我想指出这是一个简单的大学作业,不是一个真实的网站,我不担心"安全& #34;或任何东西
其次,我的数据库由'username' 'password' and 'admin', admin being 0 or 1
组成
如果admin值为1而不是0,我需要帮助的是让用户重定向到'hit-counter.php'
。
目前,无论管理员值如何,他们总是转到'index_loginsuccesful.php'
。 (如果用户名/密码错误,则为'index_loginfailed.php'
)
有什么想法吗?
<?php
$conn = mysql_connect ("localhost", "root","");
mysql_select_db("a_blub",$conn);
$result=mysql_query("SELECT password FROM user WHERE username = '$_POST[theusername]'",$conn);
$rows=mysql_fetch_array($result);
if($_POST['thepassword'] == $rows[0])
{
if ($_POST['admin'] == 1)
Header("location:hit-counter.php");
else
Header("location:index_loginsuccesful.php");
}
else
{
Header("location:index_loginfailed.php");
} ?>
答案 0 :(得分:0)
如果要根据数据库中的数据重定向到不同的位置,则需要将1
与从数据库中获取的数据进行比较,而不是{{1它将包含从表单提交的数据。您还需要选择包含该数据的列以及$_POST
。
答案 1 :(得分:0)
你可以尝试一下吗?
$conn = mysql_connect ("localhost", "root","");
mysql_select_db("a_blub",$conn);
$result = mysql_query("SELECT password FROM user WHERE username = '".mysql_real_escape_string($_POST['theusername'])."' LIMIT 1", $conn);
$row = mysql_fetch_assoc($result);
if ($_POST['thepassword'] == $row['password']) {
if ($row['admin'] == 1) {
header("Location: hit-counter.php");
exit;
} else {
header("Location: index_loginsuccesful.php");
exit;
}
} else {
header("Location: index_loginfailed.php");
exit;
}