我想将以下CSS条目应用于网站:
background-image: url(http://www.datingimages.co/online-dating/dating-website/mainsiteimage/datingbali.co.jpg);
问题是我有几个这样的网站,我需要使用如下变量:
http://www.datingimages.co/online-dating/dating-website/mainsiteimage/<?php echo $_SESSION['domain'];?>.jpg
这将应用于<body>
标签(在首页添加背景图像)-将为其他页面删除。
有人对如何使用PHP $_SESSION
变量设置这个CSS条目有什么想法吗?
注意:我使用JQUERY很舒服,所以有这个解决方案会很棒。。。
您可以将样式规则放置在文档的头部分或正文部分的任何位置。所以你可以使用这样的内联CSS部分:
<?php if(isset($_SESSION['domain'])) : ?>
<style>
body {
http://www.datingimages.co/online-dating/dating-website/mainsiteimage/<?php echo $_SESSION['domain'];?>.jpg
}
</style>
<?php endif; ?>
如果您不想使用更复杂的处理方法或JavaScript,请使用内联CSS。在我看来,你不应该为此使用JavaScript。
加载页面后,您可以通过发出ajax请求并切换元素来重新设计页面样式。
即
$(function() {
$.get('ajax.php', ..., function(data) {
$('#element').css('background-image', data.url);
});
});
或者类似的东西,但我不喜欢这个想法。。。看起来太像猴子补丁了。
您可以为每个$_SESSION
预定义css,并在页面加载时加载它们,但这意味着您必须将css分解为更小的文件,我认为这将是一个更合适的解决方案。
当用户登录时,假设您有3个背景图像选项。您可以从数据库或您拥有的任何系统中提取用户的背景偏好。也许鲍勃的背景是蓝色的,其他人的背景是绿色的。然后将其存储在用户的$_SESSION中。例如:
<?php
if($_SESSION['username'] == 'bob') {
$_SESSION['bodybg'] == "http://www.hdwallpapers.in/walls/blue_background_abstract-wide.jpg"
} else {
$_SESSION['bodybg'] == "http://1.bp.blogspot.com/-zx4w4PCEgEY/ULv64dBGGnI/AAAAAAAAA6Y/SRcHkfMBiJs/s1600/C4D_Green_background__by_Darkchildh.jpg"
}
?>
然后在生成页面或页面的css时,将其放入
body {
background: url('<?php echo $_SESSION['bodybg']; ?>');
}
如果您面临这样的问题,您的体系结构就会出现问题。最好根据会话值加载不同的html包装器。