2013-02-11 98 views
0

我想申請以下CSS進入到網站設置一個CSS值:從PHP變量

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>標籤(添加背景圖像前面頁) - 將刪除其他網頁。

任何人有任何想法的方式來設置這個CSS條目與PHP $_SESSION變量?

注:我很舒服的使用jQuery所以用這樣的解決方案將是巨大的......

+0

CSS是內部還是外部?如果它是內部的,只要做你做的。如果它是外部的,你將需要告訴Apache或PHP(我忘記了)掃描.css for php。查看如何將PHP放在JavaScript文件中,然後替換爲css。 – Piccolo 2013-02-11 07:52:24

+0

我需要問,這個PHP變量是來自另一個頁面還是來自同一個頁面?如果它來自另一個頁面,則需要使用AJAX與該變量進行通信。否則,您應該能夠在需要時使用PHP將其插入到您的文檔中。 – Klik 2013-02-11 07:53:59

+0

找到一個教程。 http://net.tutsplus.com/tutorials/php/supercharge-your-css-with-php-under-the-hood/ – Piccolo 2013-02-11 08:05:47

回答

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; ?> 
+0

非常感謝...非常好的作品...不知道你能做到這一點,但看到它後,這是合乎邏輯的...... thx再次......! – Adam 2013-02-11 22:46:46

1

那麼在頁面加載後,你可以通過做一個AJAX請求和開關元件restyle它。

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

或諸如此類的東西,但我不喜歡這個主意......似乎太像猴補丁。

你可能已經爲每個$_SESSION預定義了css,並在頁面加載時加載它們,但這意味着你必須將你的css分割成更小的文件,我認爲這將是一個更合適的解決方案。

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']; ?>'); 
} 
2

使用內聯CSS,如果你不想訴諸更復雜的處理方法或JavaScript。在我看來,你不應該爲此使用JavaScript。

1

如果您遇到此類問題,您的架構出現問題。最好根據會話值加載不同的html包裝。