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

时间:2013-04-11 22:52:54

标签: php

我正在关注此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&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来完成。

2 个答案:

答案 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);