记住最后显示的横幅

时间:2012-02-07 18:46:25

标签: php html random setcookie

每次用户刷新页面时,我都会尝试显示随机横幅。我面临的问题是我不希望再次显示最后一个横幅。我有没有其他方法可以记住最后显示的一个而不使用cookie或数据库实现?

Cookie实施:

<?php

$randIndex = rand(1,6);
if(!isset($_COOKIE["lastDispalyed"])){
    setcookie("lastDispalyed",$randIndex,time()+60*60*24);
}
else{       
    while($_COOKIE["lastDispalyed"] == $randIndex){
        $randIndex = rand(1,6);
    } 
    setcookie("lastDispalyed",$randIndex,time()+60*60*24);
} ?>

<img src="images/mainBanners/<?php echo $randIndex; ?>.JPG"/>

2 个答案:

答案 0 :(得分:2)

您可以使用会话变量:

<?php

    session_start(); // <-- start session before outputting any HTML

    $randIndex = rand(1,6);

    if (!isset($_SESSION["lastDisplayed"])) {

        $_SESSION["lastDisplayed"] = $randIndex;

    } else {    

        while ($_SESSION["lastDisplayed"] == $randIndex) {
            $randIndex = rand(1,6);
        }

        $_SESSION["lastDisplayed"] = $randIndex;
    }

?>

参考session_start()

答案 1 :(得分:0)

为横幅的ID或网址设置会话变量:

$_SESSION['lastDisplayed'] = $id; //could be the id of the banner you are displaying, or the file's url, whatever you have access too

然后在显示新横幅时进行测试。