我目前正在研究一个小型php项目,以教我PHP,javascript等。
我有一个 index.php ,可以用来管理正在访问的站点。 我使用 _GET 变量来做到这一点。
如果未设置 login_message ,则会打开 login.php 。 (这很好。) 会为用户输入生成一些文本框和一个按钮。
在处理完登录后,将再次调用 index.php 并设置 login_message 。
此后,应将用户重定向到 input.php (如果登录成功并且发送了正确的 input_message ),则可以在其中输入其他数据。
问题: input.php 将被处理(如果使用header()
函数),但是页面不会自动刷新。
我尝试过的事情:
header("Refresh:0 Location:input.php");
echo '<script type="text/javascript">';
echo 'window.location.replace("http://someurl/input.php")';
echo '</script>';
echo '<script type="text/javascript">';
echo 'window.location.assign("http://someurl/input.php")';
echo '</script>';
echo '<script type="text/javascript">';
echo 'window.location.href("http://someurl/input.php")';
echo '</script>';
我猜测header()
不起作用,因为HTML代码已经在 login.php 中生成了吗? index.php完全没有空格或HTML代码。
答案 0 :(得分:0)
使用die(header("Location:input.php"));
,不使用任何JavaScript。请注意die
或exit
。
您拥有登录表单。用户输入凭据并提交。您获取凭据并继续进行操作。您决定重定向或再次显示登录表单。在获取凭据和重定向之间,不需要html代码。在html代码之后发送标题无效。