我在php中重新提交表单的问题很小,当我的网站上填写表单并提交时,会将其重定向回来。
<?php
if (isset($_POST['submit'])){
//process form input and validate data here
if ( strlen(isset($_POST['name'])) > 0 ){
//return status to user here
//and redirect page here.
?>
<script type='text/javascript'>
history.go(-2);
</script>
<?php
}
}
?>
这是我遇到问题的地方,我正在使用javascript重定向到上一页。我需要浏览器重定向到上一页,但如果它是login.php,那么它应该重定向到login.php之前的上一页,如何在php中执行此操作,以获取上一页并将浏览器重定向到上一页,但如果上一页是login.php,那么它应该重定向到它之前的页面。
答案 0 :(得分:0)
这不是一个确切的解决方案,但重定向人员使用以下内容:
header('Location: http://www.google.com/');
要使用上述代码,必须先显示该代码,然后才能向页面显示任何其他信息。
要将用户重定向到他们来自的页面,请使用以下命令:
header('Location: '+$_SERVER['HTTP_REFERER']);
使用$_SERVER['HTTP_REFERER']
时要小心,因为该URL是由用户代理设置的,并不总是在那里。
如果您确实需要重定向到他们重定向到登录页面之前所在页面,您需要将该信息存储到$ _SESSION []变量中,或者将其作为URL中的GET变量。
示例:
login.php?redirect=http://www.example.com/settings.php
或重定向集$_SESSION['redirect'] = "http://www.example.com/settings.php";
login.php?redirect=http://www.example.com/settings.php
或login.php(如果您使用了SESSION变量)。header('Location: '+$_GET['redirect']);
或header('Location: '+$_SESSION['redirect']);