Php 有没有办法使这个随机URL重定向脚本不会重复同一个URL多次?
因此,我想在网页中添加一点乐趣或“随机性”,在单击时有一个选项卡,将用户重定向到随机URL。但是,如果用户被重定向到该URL,我希望它不会重复该URL 假设用户1点击“random”,他被带到,但是,他回到我的页面,第二次点击“random”,我希望它把他带到其他地方,而不是返回http:/google.com/如果他第三次返回,他被重定向到也没关系,但我只是不希望它重复相同的网址,如果他们只是访问该网址 这在PHP中是可行的吗?还是比我想的更复杂 这就是我目前的工作:(我根本不懂PHP,这就是我为什么要问的原因)Php 有没有办法使这个随机URL重定向脚本不会重复同一个URL多次?,php,redirect,random,Php,Redirect,Random,因此,我想在网页中添加一点乐趣或“随机性”,在单击时有一个选项卡,将用户重定向到随机URL。但是,如果用户被重定向到该URL,我希望它不会重复该URL 假设用户1点击“random”,他被带到,但是,他回到我的页面,第二次点击“random”,我希望它把他带到其他地方,而不是返回http:/google.com/如果他第三次返回,他被重定向到也没关系,但我只是不希望它重复相同的网址,如果他们只是访问该网址 这在PHP中是可行的吗?还是比我想的更复杂 这就是我目前的工作:(我根本不懂PHP,这就是
您可以使用以下会话来完成此操作:
<?php
session_start();
function checkUrl($url, $urls){
if(count($_SESSION['visited']) == count($urls)){
$_SESSION['visited'] = Array();
}
if(in_array($url, $_SESSION['visited'])){
$url = $urls[array_rand($urls)];
checkUrl($url, $urls);
}
else{
$_SESSION['visited'][] = $url;
header("Location: http://$url");
}
}
$urls = array(
"www.google.com",
"www.youtube.com",
"www.facebook.com"
);
$url = $urls[array_rand($urls)];
checkUrl($url, $urls);
?>
编辑:
在访问所有地址时执行重置我已将其上载到我的服务器,并且在运行了大约3次之后,脚本似乎以白色页面结束,并且没有加载到任何位置。我似乎仍在获取白色页面。不知道是不是只有我一个人。你能参观一下吗?我现在正在工作,不能正确地测试这个,可能是我的输入错误,但它应该可以工作,我现在已经测试了这个,它正在按预期为我工作。。。你是在尝试我上面写的代码,还是在修改它?没有修改它。只是直接拷贝和粘贴。你试过3-4次以上吗?您是否快速执行了这些操作,或者在重新尝试之前至少等待几秒钟?我快速浏览了这些网址,这时我注意到它们停止工作了。对不起,如果我完全没有意义,现在就用手机打字。
<?php
session_start();
function checkUrl($url, $urls){
if(count($_SESSION['visited']) == count($urls)){
$_SESSION['visited'] = Array();
}
if(in_array($url, $_SESSION['visited'])){
$url = $urls[array_rand($urls)];
checkUrl($url, $urls);
}
else{
$_SESSION['visited'][] = $url;
header("Location: http://$url");
}
}
$urls = array(
"www.google.com",
"www.youtube.com",
"www.facebook.com"
);
$url = $urls[array_rand($urls)];
checkUrl($url, $urls);
?>