2011-03-03 57 views
0

我正在構建一個許可協議頁面,其中一個複選框用於表示「我已閱讀許可並同意遵守條款等」。簡單的表單提交有條件的重定向?

下面是一個標有「我接受」的按鈕。

我需要將此按鈕掛接到此頁面頂部的一個函數(1)檢查以確保複選框被選中,如果不選中,將提示「您必須同意許可證才能繼續」。 (2)如果複選框被選中,取決於$ _GET ['productid']中的值,它將它們重定向到4個鏈接中的1個。

我將使用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"); 
    } 
} 
?> 
+0

您可以通過JavaScript改變形式的行動,或者您也可以通過捲曲擊中時 – random 2011-03-29 15:30:04

回答

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> 
+0

可能是它可以優化位將數據發送到另一個頁面? – 2011-03-03 17:22:02

+0

鏈接來自表單提交的事實,我相信會拋棄PayPal網關。我相信我將不得不做一個位置重定向,而不是表單提交。例如,當我將鏈接直接粘貼到瀏覽器的地址欄中時,我得到的是paypal登錄屏幕,而不是我獲得的正常銷售頁面。 – 2011-03-03 17:30:14