我遵循这个教程-它是基于前页中的链接将用户重定向到URL。
和我正在尝试这个解决方案:
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请。
您的表单是通过Javascript提交的click
你的复选框元素。通过删除它,您就没有其他提交表单的方法了。只需添加这个
<input type="submit" value="Submit!" />
你可以发送一个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);