2014-04-03 2 views
-1

연락처 양식 작업 중, 소스 코드에 다음 오류가 표시되는 것 같습니다.PHP 정의되지 않은 변수 CSS

Undefined variable: css in... 

양식이 완벽하게 작동하지만 그 문제를 해결하는 방법을 모르겠습니다.

error_reporting(0); 

그러나 나는 뭔가를 놓치고 있다면, 나도 몰라 (중요하지 않습니다 이유) 숨어있는 오류 사실을 무시 :

하나의 해결책은 내 PHP 코드에 다음 줄을 추가 할 수 있습니다 왜냐하면 나는 모든 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?>

enter image description here

(.demo-form 숨기지 않고) <?=$css?>

enter image description here

B 못하는데합니다 (.demo-form가 숨겨) 내가 어떻게 작동하도록 만들 수 있을까? 전자 예제지만, PHP 오류가 발생하지 않고?

+2

'$ css'는 정의되지 않습니다.'$ _SESSION [ 'sent']'가 없습니까? – rorypicko

+0

이것은 버그는 아니지만 기능 ... cfr 이전 발언입니다. –

+0

나는 CSS를 통해 그러한 메시지를 숨기지 않을 것입니다. 페이지를 어쨌든 렌더링하고 있다면 출력하지 마십시오. 그렇지 않으면 검색 엔진에 의해 실수로 표시되거나 인덱싱 될 수 있습니다. – GolezTrol

답변

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

변수를 사용하기 전에 확인하십시오. 또는 코드 시작 부분에 $css = '';을 선언하십시오.

+0

와우, 완벽하게 작동합니다! 시간 내 주셔서 감사합니다! –

+0

나는 당신의 대체 솔루션으로 갈 것이다 : 초기 선언. 코드를보다 깨끗하게 유지합니다. HTML에 PHP 변수를 삽입하는 것은 복잡한 검사를하지 않고도 읽을 수 있습니다. – GolezTrol