有没有办法让这个随机URL重定向脚本不会多次重复相同的URL?

时间:2014-11-02 08:08:50

标签: php redirect random

所以我想添加一点乐趣或随机性"进入网页,点击时有一个标签,将用户重定向到随机网址。但是,如果用户刚被重定向到该网址,我想在不重复该网址的地方制作它。

因此,假设用户1点击"随机"他被带到http://google.com/然后,他回到我的页面,然后点击"随机"第二次,我希望把他带到其他地方,而不是回到http:/google.com/如果他第三次回到http://google.com/,他会被重定向到{{3}}如果他们刚刚访问了该网址,我只是不希望它重复相同的网址。

这在PHP中是否像我描述的那样可行?或者它比我认为的更复杂?

目前我正在与之合作:(我完全不懂PHP,这就是我要问的原因)。

<?php
$urls = array(
"www.google.com",
"www.youtube.com",
"www.facebook.com"
);
$url = $urls[array_rand($urls)];
header("Location: http://$url");
?>

1 个答案:

答案 0 :(得分:1)

您可以使用会话执行此操作:

<?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);
?>

编辑

在访问所有地址时实施重置