如果他/她正确登录,我正在使用以下代码重定向用户(请参阅代码中的注释)。但是我收到了一个错误。我做错了什么?
<?php
require 'inc/header.php';
require 'inc/config.php';
require 'inc/functions.php';
?>
<?
$login = $_POST['login'];
if($login==1)
{
$username = mysql_escape_string(trim($_POST['username']));
$passwd = mysql_escape_string(trim($_POST['passwd']));
$QUERY = "
SELECT
*
FROM
login
WHERE
username = '$username' and password='$passwd'
";
$result = send_query($QUERY);
$num_rows = mysql_num_rows($result);
$flag=0;
if($num_rows == 0)
{
//show_error('Invalid username');
$flag=1;
}
else
{
//this is correct login so i am trying to forward but i am geting error
//here
header('Location: admin_home.php');
exit;
}
}
?>
<div class="left">
<div class="left_articles">
<h2>ADMIN LOGIN</h2>
<p class="description"><?if($flag== 1 ) echo "invalid login" ; ?> </p>
<p><form action="admin.php" method="POST">
<table border="0">
<tbody>
<tr>
<td>Username</td>
<td><input type="text" name="username" value="" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="passwd" value="" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Login" /></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<input type="hidden" name="login" value="1" />
</form>
</p>
</div>
<B> AFTER LOGING INTO ADMIN PANEL YOU CAN DO FOLLOWING THINGS <B>
<p align="center">
<ul>
<li>Add new Jobtype</li>
<li>Add new Questions</li>
<li>Modify Selection Cretiria</li>
</ul>
</p>
</div>
<div id="right">
<div class="boxtop"></div>
<div class="box">
<p><img src="images/image.gif" alt="Image" title="Image" class="image" /><b>Akshay ipsum dolor sit amet</b><br />consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.<br /></p>
<div class="buttons"><p><a href="#" class="bluebtn">Read</a> <a href="#" class="greenbtn">Mark</a></p></div>
</div>
<div class="boxtop"></div>
<div class="box">
<p><img src="images/image.gif" alt="Image" title="Image" class="image" /><b>Pako dolor sit amet</b><br />consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.<br /></p>
<div class="buttons"><p><a href="#" class="bluebtn">Read</a> <a href="#" class="greenbtn">Mark</a></p></div>
</div>
</div>
<? require 'inc/footer.php' ?>
答案 0 :(得分:6)
您需要发出HTTP标头来重定向客户端:
if ($redirect == true) {
//redirect
header("Location: http://www.mysite.com/noauth.php");
//And exit
exit;
}
见PHP Manual on Headers。使用标题时需要注意:它们必须在任何其他输出之前发送到客户端。这包括您在php脚本顶部可能存在的任何流氓空白区域,如果您尝试发布新标题,则会产生错误。
答案 1 :(得分:1)
这应该做:
<?php
header('Location: page.php');
?>
请参阅header功能。对于更复杂的重定向网址,您可能需要查看http_redirect函数。
您需要确保在输出任何常规内容之前输出标题,否则它将无效。如有必要,您可以查看headers_sent。
输出HTTP标头后的内容,但在大多数情况下都不会向用户显示。通常,在exit;
语句后立即执行header
是有意义的。
答案 2 :(得分:1)
如果您尚未打印任何标题,可以使用标题重定向,如下所示:
<?php
header("Location: B.php");
?>
答案 3 :(得分:1)
使用 标题('Location:filename.php'); 然后你将被重定向到filename.php。
答案 4 :(得分:0)
标题(“location:b.php”;)是要走的路,在Thorarin的评论中,在header命令之后应该没有更多输出,除了骰子;或者退出();不对作用于标题的搜索引擎蜘蛛可以看到不应该被采取行动的内容(“位置”);命令,他们可能会跟随您不想跟随的页面上的链接。
也没有提到,但如果重定向到只能由已登录的人访问的页面,则应该设置会话或使用其他方法,以便确保进入b的人。 php实际上是经过验证/登录的用户。
Bill H
答案 5 :(得分:0)
header()
技术上需要一个完整的网址(即http://example.com),但这不是问题所在。
标题(即使是空格) - 请看第5行:这是一次回车,这会导致header()
- 调用失败
答案 6 :(得分:0)
&LT; ? php
require'inc / header.php';
require'inc / config.php';
require'inc / functions.php';
? &GT;
&lt; - 这个换行符怎么样?
&LT; ?