0

我正在关注本教程- 它是根据上一页中的链接将用户重定向到一个 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>

中间件

<?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 完成。

4

2 回答 2

1

click您的表单是通过您的复选框元素上的 Javascript 提交的。通过删除它,您没有其他方法可以提交表单。只需添加这个

<input type="submit" value="Submit!" />
于 2013-04-11T22:55:01.683 回答
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);
于 2013-04-11T22:54:46.957 回答