【问题标题】:PHP Form Redirect Based Off of Drop Down Selection基于下拉选择的 PHP 表单重定向
【发布时间】:2011-01-23 02:15:23
【问题描述】:

这与我之前问过的关于filling out a php form and using those answers to populate a page 的问题有关。填写完表单后,我想通过您在填写表单时选择的下拉菜单确定提交表单后进入的页面。

例如,您输入:

你的名字

电子邮件

电话号码

然后从下拉列表中选择“第 3 页”。

然后点击提交。

然后我需要它来将您重定向到“第 3 页”,因为这是您在下拉菜单中选择的那个。我知道这应该很简单,但我似乎不知道该怎么做。提前感谢您的所有帮助!

【问题讨论】:

    标签: php forms redirect


    【解决方案1】:

    在您的表单提交到的脚本中:

    if ($_POST['dropdown-name'] == 'Page 3') {
        header("Location: page3.php");
    } else if ($_POST['dropdown-name'] == 'Page 4') {
        header("Location: page4.php");
    } // ... etc
    

    ~

    $pages = array('Page 1' => 'page1.php', 'Page 2' => 'page2.php', 'Page 3' => 'page3.php');
    
    if (array_key_exists($_POST['dropdown-name'], $pages)) {
        header("Location: " . $pages[$_POST['dropdown-name']]);
    } else {
        echo "Error processing form"; // submitted form value wasn't in your array, perhaps a hack attempt
    }
    

    【讨论】:

    • 你会在每个新页面上都添加“else if”吗?
    • 除非你有大量的页面,否则是的。如果数量太多,可以将它们放在一个数组中,然后将表单数据与数组进行比较。
    • 嗯,我基本上需要它像你给出的这个答案一样工作,但是会有很多页面。我将如何处理将它们放入数组中?
    • 我不能在评论中放那么多代码,所以我编辑了我的答案
    • 最后,如何将其插入表单?很抱歉需要为我说明,php 绝对不是我的专长。
    【解决方案2】:

    示例

    <script type="text/javascript">
    function OnChangeForm()
    {
        var e = document.getElementById("changeFormAct");
        var strType = e.options[e.selectedIndex].value;
        if(strType == '1')
        {
            document.myform.action ="football.html";   // here myform is the name of theform
        }
        else
        if(strType == '2')
        {
            document.myform.action ="cricket.html";
        }
        else
        if(strType == '3')
        {
            document.myform.action ="hockey.html";
        }
        else
        if(strType == '4')
        {
            document.myform.action ="tennis.html";
        }
        return true;
    }
    </script>
    
    <select onchange="OnChangeForm" id="changeFormAct">
        <option value="1">Football</option>
        <option value="2">Cricket</option>
        <option value="3">Hockey</option>
        <option value="4">Tennis</option>
    </select>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 2010-11-28
      • 2020-06-28
      • 2013-06-16
      相关资源
      最近更新 更多