【发布时间】:2011-01-01 04:52:22
【问题描述】:
我学习 Objective-C 已经两年多了,但我不会编写 PHP 代码。我只是想知道如何在用户输入他的 URL 到另一个带有广告的页面后重定向用户,然后在 5 秒后将他重定向到输入的 URL。请您提供代码,因为我根本不熟悉PHP!
【问题讨论】:
我学习 Objective-C 已经两年多了,但我不会编写 PHP 代码。我只是想知道如何在用户输入他的 URL 到另一个带有广告的页面后重定向用户,然后在 5 秒后将他重定向到输入的 URL。请您提供代码,因为我根本不熟悉PHP!
【问题讨论】:
John 的建议听起来不错。
至于代码,要在 PHP 中重定向,请使用:
header('Location: http://www.example.com/');
http://php.net/manual/en/function.header.php
要从 URL 中获取参数,可以使用 PHP 的 $_GET 函数:
$url = $_GET['url'];
如果您的网址是http://www.example.com/?url=google.com,那么您将能够使用上述代码获取“google.com”。
http://php.net/manual/en/reserved.variables.get.php
把它放在一起,试试:
$url = $_GET['url'];
header('Location: $url');
【讨论】:
将他重定向到“http://MyPageWithAdverts.company.com?redirectUrl=enteredUrl”。让广告页面休眠五秒钟,然后重定向到它的“redirectUrl”参数。
【讨论】:
首先,您应该知道用户输入(如 URL 的用户输入)应该是一个表单。
您可以使用标头功能重定向用户。示例:
header('Location: http://mydomain.com/lalala/index.php');
您还可以将 URL 放在变量上,例如:
$url = 'http://mydomain.com/lalala/index.php';
那么,
header("Location: '".$url."'");
这就是重定向。对于 5 秒的特定暂停,您可以使用睡眠功能等,也可以使用 javascript。对于 php,这里是你需要的 sleep 函数:
sleep(5); // where 5 is the number of seconds.
谢谢
【讨论】:
当他们第一次来到http://example.com/somepage 时,向他们展示广告页面并添加一个令人耳目一新的<meta> 标签,如下所示:
<meta http-equiv="refresh" content="5;url=http://example.com/somepage?ads=0">
这应该会在五秒钟后将它们发送到http://example.com/somepage?ads=0。您可以使用简单的ads=0 CGI 参数告诉服务器不显示广告,或者您可以使用 cookie 中的标志做类似的事情。当/somepage 在没有 cookie 或没有 ?ads=0 的情况下被点击时,然后向他们展示广告,如果设置了 cookie 或 ?ads=0 在那里,则向他们展示真实的东西。
您也可以在 JavaScript 中通过设置计时器并通过分配给window.location 来重定向。
这种东西很容易被打败,但对于普通浏览器来说应该足够了。
【讨论】:
修复此代码以重定向到另一个 URL
<?php
$url = $_GET['url']; //Get URL
if($url==""){ // Check URL isn't empty
echo("Not URL");
}else{
echo("Goto: ".$url);
header('Location: '.$url); // goto URL
}
sleep(5); // where 5 is the number of seconds.
?>
【讨论】: