2015-06-04 53 views
2

這是我的第一個問題,我會盡力做好。動態CSS文件將不會加載在網絡上,在XAMPP上工作

我使用DSS文件爲我開發的網站,我想「顯示:無」一些div,如果某些條件得到滿足(用戶登錄 - >不需要寄存器形式)

所以用於連接樣式表我的index.php頭標籤如下所示:

<link rel="stylesheet" href="css/default.php" type="text/css"> 

的如default.php CSS文件具有以下啓動:

<?php 
    session_start(); 
    header('Content-type: text/css');?> 

在我的本地Web服務器(在OS X的XAMPP)一切事情工作得很好。 但在聯機服務器上,css未應用。您可以訪問損壞的網站在這裏:

hsturnierv2.pixelpioniere.net

它把正確的文件,但不應用該樣式。

編輯:

永遠不要低估linebreak的力量。 CSS文件中的php標籤沒有在第1行開始。謝謝!

+0

檢查一次的css路徑 – Deep

+0

@Deep Kakkar路徑似乎沒問題(在網站上顯示源代碼 - 點擊default.php的鏈接,你會到達那裏) – Franz

+0

檢查服務器的MIME類型返回你的CSS。 https://developer.mozilla.org/en-US/docs/Incorrect_MIME_Type_for_CSS_Files – connexo

回答

0

檢查服務器返回你的CSS的MIME類型。 https://developer.mozilla.org/en-US/docs/Incorrect_MIME_Type_for_CSS_Files

注意:即使您希望按照您的要求工作,您應該仔細檢查CSS文件大小的減少是否能夠緩存CSS客戶端的緩存。

除此之外,實際的問題是,當頭已經被髮送時,你試圖修改頭信息。這會將錯誤消息輸出放在您的css之上,使其無效。

<br /> 
<b>Warning</b>: session_start(): Cannot send session cache limiter - headers already sent (output started at /www/htdocs/w011c30e/hst/public_html/css/default.php:2) in <b>/www/htdocs/w011c30e/hst/public_html/css/default.php</b> on line <b>3</b><br /> 
<br /> 
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /www/htdocs/w011c30e/hst/public_html/css/default.php:2) in <b>/www/htdocs/w011c30e/hst/public_html/css/default.php</b> on line <b>4</b><br /> 
+0

謝謝你的建議。這個網站處於早期階段,所以也許我會在某個時候用javascript找到另一個解決方案。我只是無法在這裏解決這個問題。 – Franz

+0

沒問題,以及+1玩爐石:)我也更新了我的答案。 – connexo

+0

我剛剛標誌着這是正確的答案 - 有在第一線斷行一個前 Franz

-2

您已將PHP代碼插入到您的CSS文件中,這是錯誤的,請刪除它。

<?php 
session_start(); 
header('Content-type: text/css');?> 

這是給你的PHP文件。

+0

沒關係:'href =「css/default.php」'。 PHP文件返回CSS。 – connexo

+0

即使這樣做,爲什麼你會想要這樣做? – odedta

+0

但這是我知道使用php動態調整我的css的唯一方法。當地的xampp能做到這一點嗎? 「這是爲你的PHP文件。」 - 哪一個?我的樣式表已經是一個帶有插入標題的PHP文件。 – Franz

1

您的服務器實際CSS之前發送錯誤信息:

http://hsturnierv2.pixelpioniere.net/css/default.php

禁用錯誤顯示,或者用頭解決問題。

+0

我只是把一個「@」中的PHP函數前,沒有更多的錯誤,也仍然沒有風格:( – Franz

+0

這足以禁用*警告*在這裏顯示。任何錯誤。 – connexo

+0

它現在!清除您的本地緩存。 – connexo

1

我去你的CSS鏈接,並得到警告:

Warning: session_start(): Cannot send session cache limiter - headers already sent 

這意味着你的腳本文件發送輸出的客戶端在session_start()之前。

  1. 確保絕對不存在空白或之前<?php
  2. 另一個字符如果失敗,請嘗試註釋掉在session_start()作爲一個包括可能已經開始了會議,就像這樣:/**session_start(); **/
相關問題