2013-04-11 25 views
0

我跟隨此tutorial - 它是基於上一頁中的鏈接重定向用戶的URL。PHP代碼到用戶到與鏈接相關的另一個頁面

,我想這個解決方案:

HTML

<a href="inter.php?target=1">Some page</a> 
<a href="inter.php?target=2">Some page</a> 
<a href="inter.php?target=something_else">Some page</a> 

inter.php

<?php 
session_start(); 

$link='#'; 
switch($_GET['target']) { 
    case 1: 
    $link = "http://nexttarget.com"; 
    break; 

    case 2: 
    $link = "http://nexttarget2.com"; 
    break; 

    case "something_else": 
    $link = "http://nexttarget3.com"; 
    break; 
} 
$_SESSION['prev_link'] = "http://source_url"; 
?> 

<form action="<?php echo $link; ?>" method="post" id="tc_form" > 
    <p>Your T&amp;C here</p> 
    <input type="checkbox" name="agree" value="agreed" onclick="javascript: this.parentNode.submit();" id="check" /> 
    <label for="check">I agree to the T&amp;C.</label> 
</form> 

上面的代碼工作完全正常。雖然我不希望我的用戶同意條款和條件。我只希望他們點擊鏈接並轉移。當我刪除不包含條款和條件的HTML代碼時。這不起作用。我究竟做錯了什麼?

我知道我可以直接訪問該網頁的URL,但我希望通過inter.php來完成。

回答

0

您可以發送一個位置HTTP頭從PHP做了重新定位:

<?php 

$link='#'; 
switch($_GET['target']) { 
    case 1: 
    $link = "http://nexttarget.com"; 
    break; 

    case 2: 
    $link = "http://nexttarget2.com"; 
    break; 

    case "something_else": 
    $link = "http://nexttarget3.com"; 
    break; 
} 

header('Location: ' . $link); 
1

你的形式在您的複選框件click通過Javascript提交。通過刪除它,您沒有其他方式提交表單。只需添加此

<input type="submit" value="Submit!" /> 
相關問題