我正在关注此tutorial - 它是根据上一页中的链接重定向用户的网址。
我正在尝试这个解决方案:
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&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&C.</label>
</form>
以上代码完美无缺。虽然我不希望我的用户同意条款和条件。我只是想让他们点击链接并转移。当我删除HTML代码时没有条款和条件。这不起作用。我做错了什么?
我知道我可以直接在该页面上找到一个URL,但我希望通过inter.php来完成。
答案 0 :(得分:1)
您的表单是通过您的复选框元素click
上的Javascript提交的。通过删除它,您没有其他方式提交表单。只需添加此
<input type="submit" value="Submit!" />
答案 1 :(得分:0)
您可以发送一个Location 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);