php - 在 Drupal session 中保存背景图像

标签 php css drupal

我有一个网站,我想为页面随机选择一个背景图像。该图像应保存在 session 变量中,直到浏览器关闭。目前每次页面刷新随机函数都会被一次又一次地调用,但它应该留在 session 中。那么,如何使用 drupal 或通常的 php 将背景图像保存到浏览器 session 中,直到浏览器关闭?

这里是在每个页面调用的代码加载随机函数。

<div id="page" style="background: url('/sites/all/themes/klickers/css/images/bgtop-0<?php    echo rand(1, 4); ?>.jpg') no-repeat 50% 0 #000000;" class="<?php print $classes; ?>">

最佳答案

像这样的东西就可以了

<?php
session_set_cookie_params(0); // this will ensure your session destroys when browser is closed
session_start();
if(!isset($_SESSION['bgImage'])) {
$bgImage = rand(1, 4);
$_SESSION['bgImage'] = $bgImage;
} 
?>
<div id="page" style="background: url('/sites/all/themes/klickers/css/images/bgtop-0<?php    echo $_SESSION['bgImage']; ?>.jpg') no-repeat 50% 0 #000000;" class="<?php print $classes; ?>">

已编辑

添加了session_set_cookie_params(0);

关于php - 在 Drupal session 中保存背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17766329/

相关文章:

css - 文档类型和部分

drupal - 如何完全禁用缓存?

Drupal View 公开过滤器: Taxonomy Select List?

Drupal CDN 模块和 Fileconveyor 守护进程与 Amazon S3 服务器一起用于内容交付

php - 使用js将文本插入数据库时​​出现问题

php - mysql_fetch_array、mysql_fetch_assoc、mysql_fetch_object

css - 如何在flex中建立列数

html - 元视口(viewport)标签和 css 媒体查询

php - 在 MySQL 中使用 LIKE 与变量

php - 在后台运行 PHP 脚本(不使用 Cron)