Php 如何创建一个链接,将用户发送到另一个页面,然后将该页面转移到与该链接关联的另一个页面?
如何创建一个链接,将用户发送到另一个页面,然后将该页面转移到与该链接关联的另一个页面 我想创建一个html URL列表,当单击其中任何一个URL时,它会将用户发送到中间页面,询问用户是否同意条款和条件。如果他们这样做了,他们就会转到与他们单击的链接对应的页面。与此图类似。Php 如何创建一个链接,将用户发送到另一个页面,然后将该页面转移到与该链接关联的另一个页面?,php,html,Php,Html,如何创建一个链接,将用户发送到另一个页面,然后将该页面转移到与该链接关联的另一个页面 我想创建一个html URL列表,当单击其中任何一个URL时,它会将用户发送到中间页面,询问用户是否同意条款和条件。如果他们这样做了,他们就会转到与他们单击的链接对应的页面。与此图类似。 我不知道它叫什么过程。我打算使用HTML和PHP。一种经常使用的方法如下: intermediary-page.php?proceedTo=some/url/to-go-next.php 在intermediate-pag
我不知道它叫什么过程。我打算使用HTML和PHP。一种经常使用的方法如下:
intermediary-page.php?proceedTo=some/url/to-go-next.php
在intermediate-page.html或php或任何页面上执行必要的验证,并将用户重定向到proceedTo GET variable中可用的url
之后,这取决于您的要求。您想要安全性还是确保用户已接受条款和条件或其他内容?然后,您应该在每个页面上执行其他验证,如下所示:
链接1->第1页检查用户是否已经接受条款?不然后:->
中间人?proceedTo=page1->要求用户接受!认可的?然后:->第1页用户
你现在接受条件了吗?对然后:->呆在这里
这种方法的优点是:
您可以非常确定,即使用户绕过了中间页面,直接前往最终目的地,她也会被扔回中间页面,就好像您正在验证用户一样。
您不需要创建像href=intermediate.php?next=abc.php这样的链接,只需使用简单的href=abc.php,它将自行处理重定向。
经常使用的方法如下:
intermediary-page.php?proceedTo=some/url/to-go-next.php
在intermediate-page.html或php或任何页面上执行必要的验证,并将用户重定向到proceedTo GET variable中可用的url
之后,这取决于您的要求。您想要安全性还是确保用户已接受条款和条件或其他内容?然后,您应该在每个页面上执行其他验证,如下所示:
链接1->第1页检查用户是否已经接受条款?不然后:->
中间人?proceedTo=page1->要求用户接受!认可的?然后:->第1页用户
你现在接受条件了吗?对然后:->呆在这里
这种方法的优点是:
您可以非常确定,即使用户绕过了中间页面,直接前往最终目的地,她也会被扔回中间页面,就好像您正在验证用户一样。
您不需要创建像href=intermediate.php?next=abc.php这样的链接,只需使用简单的href=abc.php,它将自行处理重定向。
第一页:
<a href="intermediary.php?next_page=somepage.php">link to Intermediary Page</a>
中间页:
<?php
$next_page = $_REQUEST["next_page"];
header("Location: " . $next_page);
?>
第一页:
<a href="intermediary.php?next_page=somepage.php">link to Intermediary Page</a>
中间页:
<?php
$next_page = $_REQUEST["next_page"];
header("Location: " . $next_page);
?>
您可以在URL中获取用户变量。乙二醇
因此,这将链接到中间页面。然后,在该页面上,您将有一个函数,用于查看url页面的最后一部分=page1。然后该函数将用户重定向到正确的页面 您可以在URL中获取用户变量。乙二醇 因此,这将链接到中间页面。然后,在该页面上,您将有一个函数,用于查看url页面的最后一部分=page1。然后该函数将用户重定向到正确的页面 第一个HTML页面 intermediate.php 第一个HTML页面 intermediate.php HTML PHP: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">
<p>Your T&C here</p>
<input type="checkbox" name="agree" value="agreed" />
<input type="submit" value="go" />
</form>
<?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>
PHP:target.PHP
<?php
session_start();
if( !isset($_POST['agreed']) || $_POST['agreed'] != 'agreed' ){
header("Location: ".$_SESSION['prev_link']);
exit;
}
?>
Your target page content here
编辑:编辑以显示T&C页面,而不是直接重定向
编辑2:现在,在同意/单击复选框后,中间页将自动重定向
PHP: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">
<p>Your T&C here</p>
<input type="checkbox" name="agree" value="agreed" />
<input type="submit" value="go" />
</form>
<?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
PHP: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">
<p>Your T&C here</p>
<input type="checkbox" name="agree" value="agreed" />
<input type="submit" value="go" />
</form>
<?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>
PHP:target.PHP
<?php
session_start();
if( !isset($_POST['agreed']) || $_POST['agreed'] != 'agreed' ){
header("Location: ".$_SESSION['prev_link']);
exit;
}
?>
Your target page content here
编辑:编辑以显示T&C页面,而不是直接重定向
编辑2:现在,在同意/单击复选框后,中间页将自动重定向
PHP: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">
<p>Your T&C here</p>
<input type="checkbox" name="agree" value="agreed" />
<input type="submit" value="go" />
</form>
<?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链接:
<a href="/links.php?page=1">Link 1</a>
<a href="/links.php?page=2">Link 1</a>
其他选择是:
$pages[1] = 'abc.php';
$pages[2] = 'xyz.php';
header('Location: ' . $pages[$page]);
注意:在使用$page变量之前,请尝试保护它。您的HTML链接:
<a href="/links.php?page=1">Link 1</a>
<a href="/links.php?page=2">Link 1</a>
其他选择是:
$pages[1] = 'abc.php';
$pages[2] = 'xyz.php';
header('Location: ' . $pages[$page]);
注意:在使用$page变量之前,请尝试保护它。不要写我知道我可以用谷歌搜索它。这里的人会讨厌这一点,会说你没有试着为自己找出答案。提示:列出这些页面,给每个页面一个ID,在URL中传递该ID,在中间页面上检索它作为GET参数,然后在提交和接受带有条款的表单后重定向到真实的URL。不要写我知道我可以用谷歌搜索它。这里的人会讨厌这一点,会说你没有试着为自己找出答案。提示:列出这些页面,给每个页面一个ID,在URL中传递该ID,在中间页面上检索它作为GET参数,然后在提交和接受带有条款的表单后重定向到真实的URL。好吧,这不是很安全,假设您实际上是以p的形式传递重定向URL
参数,因此,如果要将重定向URL作为参数传递,则可以忽略接受术语。如果您关心安全性,那么在每个目标页面中嵌入身份验证/用户验证。担心URL是否可见与模糊性相关。这不是很安全,因为您实际上是将重定向URL作为一个参数传递,因此,如果您将重定向URL作为一个参数传递,则术语接受可以绕过编辑并不重要。如果您关心安全性,那么在每个目标页面中嵌入身份验证/用户验证。担心URL是否可见与模糊性的安全性有关。好吧,这不是很安全,因为您实际上是将重定向URL作为参数传递的,因此可以绕过术语接受这只是一个简单的示例,如果你想让它更安全,你可以为此编写一些逻辑…他可以在url中加入'somepage',然后函数将其转换为'somepage.php',可以做很多事情来改善这一点,这只是一个简单的例子…好吧,这不是很安全,因为你实际上是在传递重定向url作为参数,因此,可以绕过术语接受这只是一个简单的例子,如果你想使其安全,你可以为此编写一些逻辑…他可以在url中放入“somepage”,然后函数将其转换为“somepage.php”,可以做很多事情使其更好,同样,这只是一个简单的例子……这是如何将用户重定向到目标页面的?@xFortyFourx您否决了它吗?你不能只是重定向。阅读OP的帖子。他需要人们同意这些条款和条件。所以点击那个链接,你就在正确的页面上了。很抱歉,我的疏忽:我建议不要使用这种方法。首先,您需要处理所有这些非语义链接。第二,是什么禁止用户直接访问page1.html?这如何将用户重定向到目标页面?@xFortyFourx您是否否决了它?你不能只是重定向。阅读OP的帖子。他需要人们同意这些条款和条件。所以点击那个链接,你就在正确的页面上了。很抱歉,我的疏忽:我建议不要使用这种方法。首先,您需要处理所有这些非语义链接。第二,是什么禁止用户直接访问page1.html?我尝试了上面的方法,但对我无效。需要帮忙吗?它没有转移到目标目的地,它的剩余部分在中间。php@PannyMonium是的,它只会打印到下一页的链接,您还想要什么?是否要在中间页面停留几秒钟,然后自动重定向?我希望在选中“条款和条件”框并单击“转到”按钮时,它会将用户带到基于上一页的目标页面。您好。我是按你的方式做的。它现在正在重定向。谢谢在上面的示例中,问题是在重定向target.php之后。它把我带到了URL——可以在inter.php中找到。如何防止target.php将我重定向到inter.php中的find?@PannyMonium它就在那里,$\u SESSION['prev\u link']=http://source_url;. 把它换成你想要的。此外,target.php正在重定向,因为用户尚未同意t&C。我尝试了上述方法,但对我无效。需要帮忙吗?它没有转移到目标目的地,它的剩余部分在中间。php@PannyMonium是的,它只会打印到下一页的链接,您还想要什么?是否要在中间页面停留几秒钟,然后自动重定向?我希望在选中“条款和条件”框并单击“转到”按钮时,它会将用户带到基于上一页的目标页面。您好。我是按你的方式做的。它现在正在重定向。谢谢在上面的示例中,问题是在重定向target.php之后。它把我带到了URL——可以在inter.php中找到。如何防止target.php将我重定向到inter.php中的find?@PannyMonium它就在那里,$\u SESSION['prev\u link']=http://source_url;. 把它换成你想要的。此外,target.php正在重定向,因为用户尚未同意t&C。