2014-04-03 28 views
-1

在聯繫表單上工作,好像它在源代碼中顯示以下錯誤。PHP未定義的變量css

Undefined variable: css in... 

表格工作完美,但我不知道如何解決這個問題。

一種解決方案可能是添加以下行到我的PHP代碼:

error_reporting(0); 

但忽略隱藏錯誤的事實(對於無關緊要的原因),我不知道如果我失去了一些東西因爲我無法理解所有的PHP代碼。

PHP代碼:

<?php 

    if(isset($_SESSION['sent'])) 
    { 
    $success='<p>Thanks for contact us!<p>'; 
    $css='<style type="text/css">.demo-form{display:none;}.thanks{display:block;}</style>'; 
    unset($_SESSION['sent']); 
    } 
    ?> 

    <!DOCTYPE html> 
     <head> 
      <?=$css?> 
     </head> 

的錯誤是:<?=$css?>,因爲刪除該值,接觸形式繼續工作,但主要代碼的以下部分不工作:.demo-form{display:none;},它只是顯示thanksdiv而不隱藏.demo-form

VISUAL DEMO:

A-隨着:<?=$css?>(隱藏.demo-form

enter image description here

乙-without:<?=$css?>(不隱藏.demo-form

enter image description here

我怎麼能讓它工作一個例子,但沒有得到PHP錯誤?

+2

'$ css'不會被定義是不是'$ _SESSION ['sent']'? – rorypicko

+0

這不是一個錯誤,而是一個功能... cfr先前的評論。 –

+0

我不會通過CSS隱藏這樣的消息。如果您正在渲染頁面,請不要輸出它。否則,它可能會被意外顯示,甚至被搜索引擎索引。 – GolezTrol

回答

4
<?= isset ($css) ? $css : ''?> 

在使用它之前檢查變量是否存在。或者,在代碼的開頭聲明$css = '';

+0

哇,完美的作品!感謝您的時間! –

+0

我會與您的替代解決方案:最初的聲明。保持代碼更清潔。在HTML中插入PHP變量足夠複雜,無需額外的檢查即可閱讀。 – GolezTrol