복붙노트

PHP에서 JavaScript 변수 값을 얻는 방법

PHP

PHP에서 JavaScript 변수 값을 얻는 방법

나는 PHP를 사용하여 액세스 할 수있는 JavaScript 변수의 가치를 원한다. 아래 코드를 사용하고 있지만 PHP에서 해당 변수의 값을 반환하지 않습니다.

// set global variable in javascript
    profile_viewer_uid = 1;
// php code

$profile_viewer_uid=$_POST['profile_viewer_uid']; 

이것은 나에게 다음과 같은 오류를 준다 :

A PHP Error was encountered
Severity: Notice
Message: Undefined index: profile_viewer_uid

빈 값을 제공하는 데 사용되는 또 다른 PHP 코드

$profile_viewer_uid = "<script language=javascript>document.write(profile_viewer_uid);</script>

내가 반향하면 아무것도 보이지 않습니다.

해결법

  1. ==============================

    1.JS를 사용하여 다음과 같은 변수가 포함 된 URL을 다시 보내야합니다. http://www.site.com/index.php?uid=1

    JS를 사용하여 다음과 같은 변수가 포함 된 URL을 다시 보내야합니다. http://www.site.com/index.php?uid=1

    JS에서 다음과 같이 사용합니다.

    window.location.href=”index.php?uid=1";
    

    그런 다음 PHP 코드에서 $ _GET을 사용하십시오.

    $somevar = $_GET["uid"]; //puts the uid varialbe into $somevar
    
  2. ==============================

    2.다음은 작업 예제입니다. 동일한 페이지에서 javascript 변수 값 가져 오기.

    다음은 작업 예제입니다. 동일한 페이지에서 javascript 변수 값 가져 오기.

    <script>
    var p1 = "success";
    </script>
    
    <?php
    echo "<script>document.writeln(p1);</script>";
    ?>
    
  3. ==============================

    3.Javascript와 PHP가 무엇인지 배우는 것으로 시작할 수 있습니다. Javascript는 PHP가 실행되는 웹 서버에 연결된 클라이언트 컴퓨터의 브라우저에서 실행되는 클라이언트 측 스크립트 언어입니다. 이러한 언어는 직접 통신 할 수 없습니다.

    Javascript와 PHP가 무엇인지 배우는 것으로 시작할 수 있습니다. Javascript는 PHP가 실행되는 웹 서버에 연결된 클라이언트 컴퓨터의 브라우저에서 실행되는 클라이언트 측 스크립트 언어입니다. 이러한 언어는 직접 통신 할 수 없습니다.

    목표에 따라 AJAX get 또는 post 요청을 서버에 보내고 json / xml / html / any response를 반환하고 결과를 사이트의 DOM 구조에 다시 주입해야합니다. Jquery, BackboneJS 또는 다른 JS 프레임 워크를 제안합니다. 예제는 Jquery 문서를 참조하십시오.

    같은 사이트에서 JS에 PHP 데이터를 전달해야하는 경우 데이터를 JS로 에코하여 json_encode ()를 사용하여 PHP 데이터를 JS로 변환 할 수 있습니다.

    <script type="text/javascript>
        var foo = <?php echo json_encode($somePhpVar); ?>
    </script>
    
  4. ==============================

    4.액세스하려는 javascript 변수가있는 쿠키를 추가하십시오.

    액세스하려는 javascript 변수가있는 쿠키를 추가하십시오.

    document.cookie="profile_viewer_uid=1";
    

    다음을 통해 PHP에 액세스하십시오.

    $profile_viewer_uid = $_COOKIE['profile_viewer_uid'];
    
  5. ==============================

    5.PHP가 서버에서 실행됩니다. 그것은 일부 텍스트를 출력합니다. 그런 다음 실행이 중지됩니다.

    PHP가 서버에서 실행됩니다. 그것은 일부 텍스트를 출력합니다. 그런 다음 실행이 중지됩니다.

    텍스트가 클라이언트 (브라우저)로 전송됩니다. 그런 다음 브라우저는 텍스트를 HTML 및 JavaScript로 해석합니다.

    자바 스크립트에서 PHP로 데이터를 가져 오려면 새로운 HTTP 요청을 만들고 새로운 (또는 같은) PHP 스크립트를 실행해야합니다.

    양식 또는 Ajax를 사용하여 JavaScript로부터 HTTP 요청을 할 수 있습니다.

  6. ==============================

    6.PHP 스크립트에서 js 변수를 사용하려면 HTTP 요청 내에서이를 전달해야합니다.

    PHP 스크립트에서 js 변수를 사용하려면 HTTP 요청 내에서이를 전달해야합니다.

    이 작업은 페이지를 변경하거나 다시로드하는 작업 (예 : Chris 응답 에서처럼 양식 제출 또는 js로 리디렉션)을 쉽게 수행 할 수 있습니다.

    그러나 페이지를 다시로드하지 않으려면 페이지를 다시로드하거나 변경하지 않고 웹 페이지에서 웹 서버에 액세스하기 위해 정확하게 작성된 AJAX를 사용해야합니다.

    간단한 예는 다음과 같습니다.

    var profile_viewer_uid = 1;
    $.ajax({
      url: "serverScript.php",
      method: "POST",
      data: { "profile_viewer_uid": profile_viewer_uid }
    })
    

    그리고 serverScript.php 파일에서 다음을 할 수 있습니다 :

     $profile_viewer_uid = $_POST['profile_viewer_uid'];
     echo($profile_viewer_uid);
     // prints 1
    

    참고 :이 예제에서는 구현이 더 빨라진 jQuery AJAX를 사용했습니다. 당신도 순수 js에서 그것을 할 수 있습니다.

  7. ==============================

    7.이 두 언어는 서로 다른 시간에 실행됩니다. 그런 언어와 상호 작용할 수는 없습니다.

    이 두 언어는 서로 다른 시간에 실행됩니다. 그런 언어와 상호 작용할 수는 없습니다.

    PHP는 페이지가로드되는 동안 서버에서 실행됩니다. 일단로드되면 JavaScript는 브라우저의 클라이언트 컴퓨터에서 실행됩니다.

  8. ==============================

    8.이것은 약간 까다로울 수 있지만 안전한 방법은 자바 스크립트 쿠키를 설정 한 다음 PHP 쿠키 변수로 선택하는 것입니다.이 쿠키 변수를 쿠키보다 더 안전하게 저장하는 PHP 세션에 할당하십시오. 쿠키를 삭제하십시오 javascript를 사용하여 페이지를 자신에게 리디렉션합니다. 변수를 잡기 위해 PHP 명령을 추가 했으므로 가져올 것입니다.

    이것은 약간 까다로울 수 있지만 안전한 방법은 자바 스크립트 쿠키를 설정 한 다음 PHP 쿠키 변수로 선택하는 것입니다.이 쿠키 변수를 쿠키보다 더 안전하게 저장하는 PHP 세션에 할당하십시오. 쿠키를 삭제하십시오 javascript를 사용하여 페이지를 자신에게 리디렉션합니다. 변수를 잡기 위해 PHP 명령을 추가 했으므로 가져올 것입니다.

  9. ==============================

    9.이 값을 서버에 제출 된 양식 데이터에 추가해야합니다. 당신이 사용할 수있는

    이 값을 서버에 제출 된 양식 데이터에 추가해야합니다. 당신이 사용할 수있는

    <input type="hidden" value="1" name="profile_viewer_uid" id="profile_viewer_uid">
    

    양식 태그 안에.

  10. from https://stackoverflow.com/questions/9789283/how-to-get-javascript-variable-value-in-php by cc-by-sa and MIT license