我有2个文件。 index.php
和login.php
。在index.php
我有一个带有提交按钮的表单,该表单应该带我到login.php
。
<form action="login.php?redirect=update.php">
<input type="submit" class="button" value="Update Availability"/>
</form>
login.php
应该将我重定向到redirect
的GET值。但是,当我点击index.php
中的提交时,我需要login.php?
。为什么是这样?如何让它带我到正确的GET值所需的页面?我应该期待login.php?redirect=update.php
注意:我已尝试使用hidden
这样的表单值:
<form action="login.php" method="GET">
<input type="hidden" name="redirect" value="update.php"/>
<input type="submit" class="button" value="Update Availability"/>
</form>
但无济于事
任何帮助将不胜感激!
编辑:以下是login.php
中的PHP代码,用于检查GET值redirect
是否存在。
if ( !(isset($_GET["redirect"]))){
echo "<script type='text/javascript'>alert('YOU DO NOT HAVE A REDIRECT');</script>";
//header("Location: index.php");
//die();
} else {
if (isset($_SESSION["username"])){
header("Location: " . $_GET["redirect"]);
die();
}
}
编辑2:这里的问题不是为什么它没有重定向我,问题是为什么当我点击index.php
中的按钮时它是否会将我带到{{1}而不是login.php?
。我知道它不会自动重定向我。
编辑3:在注意中尝试样式时,它突然再次运行。然后我做了进一步的测试,以确定我是否可以再次复制问题,并且这样做了。 login.php?redirect=update.php
重定向到名为login.php
的页面,用户输入一些数据,然后将所述数据发送到另一个名为update.php
的页面(我知道这可能会被重写以缩短,但是对于现在我试图让基本版本正常工作)。在adduser.php
中,它会将用户指定的数据添加到数据库,然后重定向到adduser.php
。但是,一旦重定向回index.php
,我就无法再点击该链接再次转到index.php
。它立即将我重定向回login.php
(因为如果它不识别GET index.php
值,则应该是PHP代码)。我完全不知道为什么会这样,有什么想法吗?
答案 0 :(得分:0)
在login.php页面上,您必须首先检查isset($ _ GET [&#39;重定向&#39;)如果已设置,则重定向到另一个页面,如标题(&#39;位置:update.php&#39;) ;