我希望我的网站每次刷新时都有一个随机背景,但是在有人登录后,我希望这个背景在会话的其余部分保持不变。我找到了随机背景的以下代码:
<?php
$bg = array('bg-01.jpg', 'bg-02.jpg', 'bg-03.jpg', 'bg-04.jpg', 'bg-05.jpg', 'bg-06.jpg', 'bg-07.jpg', 'bg-08.jpg', 'bg-09.jpg', 'bg-10.jpg', 'bg-11.jpg', 'bg-12.jpg', 'bg-13.jpg');
$n = mt_rand(0, count($bg)-1);
$selectedBg = "$bg[$n]";
?>
为了您的兴趣:这就是我确保所选bg确实是页面背景的方式(这是放在<head>
部分中):
<style type="text/css">
body{
background: url(../afbeeldingen/<?php echo $selectedBg; ?>) ; background-size: 100%; background-attachment: fixed;
}
</style>
这很好用。但现在我想把输出放在一个会话中。起初我认为这会奏效:
$_SESSION['background']= "$selectedBg";
这会在会话中放入一个随机数,但该数字与之前mt_rand
输出的数字不同。我也一直在努力使用以下JavaScript
<script>
document.getElementById("demo").innerHTML =
Math.floor(Math.random() * 100) + 1;
</script>
但我无法将输出与之前提供的$ bg数组匹配。 我还是PHP的初学者。
答案 0 :(得分:3)
这样做,
session_start();
if(!isset($_SESSION['logged_in'])){
$selectedBg = "bg-".rand(1, 13).".jpg";
$_SESSION['background'] = $selectedBg;
echo $_SESSION['background'];
}else{
echo $_SESSION['background'];
}
当客人来到这里时,他们将获得新的背景,您可以使用rand()
功能而不是您拥有的阵列,它会对您有帮助,
第二,你检查用户是否登录,你给他们最后的背景,如果没有,改变背景。
我希望这可以帮到你,