HTML表单操作值无效

时间:2018-02-19 10:22:57

标签: html forms

我有2个文件。 index.phplogin.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代码)。我完全不知道为什么会这样,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在login.php页面上,您必须首先检查isset($ _ GET [&#39;重定向&#39;)如果已设置,则重定向到另一个页面,如标题(&#39;位置:update.php&#39;) ;