php
  • javascript
  • 2011-04-22 3 views 0 likes 
    0

    왜 PHP는 두 번 페이지를 새로 고칠 때만 새로운 값을 가져옵니다. 페이지를 처음 실행하면 PHP는 쿠키 값을 가져 오지 않습니다.PHP와 자바 스크립트

    덕분에 당신은 어떻게 PHP와 자바 스크립트 작업을 혼동

    <script type="text/javascript"> 
    var name = 'test1'; 
    var value = '1234'; 
    var expirydays = '1'; 
    expiry = new Date(); 
    expiry.setDate(expiry.getDate() + expirydays); 
    document.cookie = name+"="+escape(value)+";expires="+expiry.toGMTString(); 
    </script> 
    
    <?php  
    print_r($_COOKIE); 
    ?> 
    

    답변

    2

    .

    PHP가 서버 측에서 먼저 실행됩니다.

    JavaScript는 사용자의 브라우저에서 클라이언트 측 PHP가 실행 된 후에 오랫동안 실행됩니다.

    자바 스크립트에서 설정 한 쿠키는 자바 스크립트를 생성 한 PHP 스크립트에서 볼 수 없습니다. 너무 늦었습니다. 페이지를 새로 고침해야합니다.

    그러나, $_COOKIE 변수가 스크립트가 시작될 때 채워지기 때문에 PHP 자체의 setcookie()을 통해 설정된 값조차도 페이지를 다시로드 한 후에 만 ​​볼 수 있습니다.

    0

    PHP는 서버에서 실행되고 JavaScript는 클라이언트에서 실행됩니다. PHP 코드는 JavaScript 코드가 실행되기 전에 실행되기 때문에 처음에는 PHP가 아직 쿠키를 가지고 있지 않습니다. 쿠키가 이미 있기 때문에 두 번째로 작동합니다.

    관련 문제