【问题标题】:I need the answer from a form to immediately redirect to another form我需要一个表单的答案以立即重定向到另一个表单
【发布时间】:2019-03-29 15:32:30
【问题描述】:

我有一个单选按钮表单。如果答案是 A,我希望答案立即重定向到页面 A,如果答案是 B,我希望答案立即重定向到页面 B。我知道答案可能依赖于 javascript,但我对编码相当陌生,而 javascript 是我的致命弱点.

我有表单选择和基本的 if else 语句 - 只是不确定如何将两者联系在一起。这里的其他一些问题很有帮助,但不足以完全帮助我把一些东西放在一起。这是我当前的代码:

<?php
echo '<form id="gate" action="index.php" method="post">';
echo '<p>question<br>';
echo '<input type="radio" name="gateway" value="A">answer A<br>';
echo '<input type="radio" name="gateway" value="No">answer B<br>';
echo '</p>';

// branching for different forms
if($gateway=="Yes") {
    header ('answer Yes url');
} else if($gateway=="No") {
    header ('answer No url');
}    
echo '</form>';
?>
</body>
</html>

我目前点击是或否,但没有任何反应。我希望有人能帮助我将 A 和 B 与我的陈述联系起来。我希望能够在用户无需单击提交的情况下执行此操作 - 在他们做出选择时将其重定向。

【问题讨论】:

    标签: javascript php forms if-statement redirect


    【解决方案1】:

    首先您应该检查请求是否为 POST,然后从该帖子中获取您的“网关”。

    请注意,在 php 中重定向后,您必须使用 die()exit() 停止脚本。

    下面是一个例子

    if (isset($_POST)) {
        if ($_POST['gateway'] == "Yes") {
            header("Location: <YOUR YES URL>");
            die();
        } else {
            header("Location: <YOUR NO URL>");
            die();
        }
    }
    

    要在检查无线电输入时实现表单提交,最好的选择是将onclick="this.form.submit();" 放在无线电输入上

    【讨论】:

    • 我已将代码编辑为以下内容:code echo '
      '; echo ' No
      ';回声''; if (isset($_POST)) { if($_POST['gateway'] == "Yes") { echo '这太糟糕了!'; // 标题('url');死(); } else { echo '我希望这行得通!'; // 标题 ('url');死(); } } 包括'../footer.php'; code
    • 它正在部分工作 - 做出选择时会显示正确的回声,但 url 不会重定向,并且在评论而不是备注时不会包含末尾的页脚。
    • 请确保您使 php 重定向正确。应该是这样的 header('Location : google.com')
    • 你可以查看这个问题的答案:stackoverflow.com/questions/2112373/php-page-redirect/…
    • 谢谢!我收到标头已经发送的消息,所以我必须解决这个问题。希望这将是最后的错误。感谢所有帮助!
    【解决方案2】:

    你可以试试:

    echo '<input type="radio" name="gateway" value="A" onchange="this.form.submit()">answer A<br>';
    

    Submit form on radio button click中建议的那样

    【讨论】:

      猜你喜欢
      • 2015-06-09
      • 2019-03-11
      • 2021-11-20
      • 2016-02-28
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多