我目前无法解决的问题是当用户登录时。他们到达网站(index.php)并输入用户名和密码,通过Post表单提交回index.php - 如果有的话错误的细节,然后他们收到错误信息。但如果成功,那么我希望他们被带到他们的用户主页 - 但我不能这样做!我向他们展示了主页的链接,这不仅仅是一点点笨重。
似乎必须有一个明显的解决方案 - 在此之前从未见过的网站没有重定向!不确定答案是PHp,HTML还是Javascript。
编辑:
很抱歉,如果问题还没有解决 - 仍然在这里学习。试图将重定向放在if语句中,但仍然无法正常工作。我认为理想情况下重定向将是代码的顶部,但无法看到如何做到这一点并保留登录过程?代码如下:
if (isset($_POST['user']))
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
$salt = "randomsalt";
$md5pass = md5($salt . $pass);
if ($user == "" || $pass == "")
{
$error = "Not all fields were entered<br />";
}
else
{
$query = "SELECT username,password FROM users
WHERE username='$user' AND password='$md5pass'";
if (mysql_num_rows(queryMysql($query)) == 0)
{
$error = "Username/Password invalid<br />";
}
else
{
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
header("Location: http://localhost:8888/profile.php?view=$user");
exit;
}
}
}
由于
富
编辑2:
感谢您的帮助 - 仍然无法解决,然后需要在页面顶部重新定位,但同样必须让我的登录脚本到位。最终解决了它:
echo "<meta http-equiv=\"refresh\" content=\"0;URL=profile.php?view=$user\">";
代替上面的标题和退出行。
再次感谢
富
答案 0 :(得分:4)
您可能重定向错误。首先,将它置于index.php
的最顶端:
<?php
/* Redirect browser */
header("Location: http://newPath/newPage.php/");
/* Make sure that code below does not get executed when we redirect. */
exit;
?>
这是一个带有exit
语句的简单重定向,可以在之后停止所有处理,因此您只需测试以查看重定向是否正常工作。如果有效,则向重定向添加条件,如
<?php
if (/*login credentials are valid*/){
/* Redirect browser */
header("Location: http://newPath/newPage.php/");
/* Make sure that code below does not get executed when we redirect. */
exit;
}
?>
但是,当然要用函数调用替换/*login credentials are valid*/
或者实际检查凭据并返回布尔值的任何内容。
答案 1 :(得分:-1)
这个解决方案适用于php,希望这对你有帮助。
$user_name = $_POST['username']; // posting value through form
$pass_word = $_POST['password']; // posting value through form
$sql = mysql_query("select 1 from admin_users where username='".$user_name."' and password='".$pass_word."'"); // checking username and password in database
if ($sql)
{echo "Invalid User Name/Password";}
else
{header("Location: homepage.php"); exit;}
答案 2 :(得分:-1)
在变量中输入用户名和密码。
$username = $_POST['username'];
$pwd = $_POST['password'];
将此与您的表格进行比较,如下所示:
$sql = mysql_query("select * from tbl_users where username='".$username."' and password='".$pwd."'");
if(mysql_num_rows($sql)>0){
header("Location:homepage.php");
}else{
echo "Invalid username or password ";
}
这样可行。