从PHP变量设置CSS值

时间:2013-02-11 07:47:36

标签: php jquery html css session

我想将以下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非常舒服,所以解决这个问题会很棒...

5 个答案:

答案 0 :(得分:2)

如果您不想使用更复杂的处理方法或JavaScript,请使用内联CSS。在我看来,你不应该为此使用JavaScript。

答案 1 :(得分:2)

您可以将样式规则放在文档的头部或正文部分的任何位置。所以你可以使用这样的内联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; ?>

答案 2 :(得分:1)

在页面加载之后,您可以通过发出ajax请求并切换元素来重新设置它。

 $(function() {
    $.get('ajax.php', ..., function(data) {
        $('#element').css('background-image', data.url);
    });
 });

或类似的东西,但我不喜欢这个想法......看起来太像猴子补丁了。

您可以为每个$_SESSION预定义css并在页面加载时加载它们,但这意味着您必须将css分解为更小的文件,我认为这将是一个更合适的解决方案。 / p>

答案 3 :(得分:1)

当用户登录时,表示您有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时,将其放入。我将以css为例:

body {
    background: url('<?php echo $_SESSION['bodybg']; ?>');
}

答案 4 :(得分:1)

如果您遇到此类问题,您的架构会出现问题。最好根据会话值加载不同的html包装器。