使用条件重定向提交简单表单?

时间:2011-03-03 17:17:11

标签: php forms

我正在建立一个许可协议页面,其中使用一个复选框来表示“我已阅读许可并同意遵守这些条款等”。

下面是一个标有“我接受”的按钮。

我需要将此按钮挂钩到此php页面顶部的一个函数,该函数(1)检查以确保选中该复选框,如果没有,则提示警告“您必须同意许可才能继续”。 (2)如果选中该复选框,它会将它们重定向到4个链接中的1个,具体取决于$ _GET ['productid']中的值。

我将使用php switch语句进行重定向,我要求查看我有什么选项可以让提交按钮调用该函数而不将提交传递给另一个脚本。

<form action="?">
    <div class="accept">
        <input type="checkbox" id="accept" /><label for="accept">Yes. I Have Read and I Agree to This License Agreement and Terms of Service</label>
        <p><input type="submit" value=" I ACCEPT " /></p>
    </div>
</form>

<?php
function go(){

$id = $_GET['productid'];

    switch ($id)
    {
    case 1:
        //product 1
        header("Location: link-to-url1");
    break;
    case 2:
        //product2
        header("Location: link-to-url2");
        break;
    case 3:
        //product3
        header("Location: link-to-url3");
        break;
    case 4:
        //product4
        header("Location: link-to-url4");
        break;

    default:
        //default
        header("Location: link-to-url-default");
    }
}
?>

1 个答案:

答案 0 :(得分:0)

<?php

$id = (int) $_GET['productid'];

switch ($id)
{
    case 1:
        //product 1
        $url = 'link-to-url1';
        break;
    case 2:
        //product2
        $url = 'link-to-url2';
        break;
    case 3:
        //product3
        $url = 'link-to-url3';
        break;
    case 4:
        //product4
        $url = 'link-to-url4';
        break;

    default:
        //default
        $url = 'link-to-url-default';
}
?>

<form action="<?php echo $url; ?>">
    <div class="accept">
        <input type="checkbox" id="accept" /><label for="accept">Yes. I Have Read and I Agree to This License Agreement and Terms of Service</label>
        <p><input type="submit" value=" I ACCEPT " /></p>
    </div>
</form>