PHP代码给用户到另一个与之相关联的页面的链接


PHP code to user to another page which associated with the link

我遵循这个教程-它是基于前页中的链接将用户重定向到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&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请。

您的表单是通过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);