자바스크립트 변수를 php에서 사용
본문
안녕하세요
자바스크립트에서 정의한 변수($fbcode2)를 php 에서 사용할려고 합니다.
function 문에서의 자바 변수를 그대로 php 에서 불러오면 아무런 값도 없네요
고수분의 도움을 요청합니다.
미리 도움에 감사합니다.
1. 변수선언 및 입력받는 부분
$("#tracking_bnt").click(function(){ var gubun = $("#tracking_gubun").val(); if(gubun == ""){ alert("트랙킹 코드를 선택해주세요"); } if(gubun =="fasebook"){ var code = $("#tracking_code").val(); var $fbcode2 = $("#tracking_code").val();
2. 변수를 표현하는 부분
!--> !--><table align="center" width="100%"> <tr> <td align="center"> <div id= "content_22" style="width:637px; height:102px;font-size:12px; overflow:auto; margin:1px !important;padding:1;border-width: 1px;border-style: inset;border-color: initial;border-image: initial; " > <iframe src='https://abcde.com/form123.php?it=<?=$row[wr_id]?> width='100%' height='650px' frameborder='0'> <?php echo $fbcode2; ?> </iframe> </div>
답변 4
자바스크립트변수를 PHP에서 사용한다는것 자체가 불가능합니다.
가장 큰 이유는
웹서버(PHP엔진)에서 PHP구문이 먼저 처리되고
JavaScript가 포함된 웹문서를
브라우저에 전달한후
브라우저에서 DOM / JavaScript를 파싱(Parsing) 하는 순서입니다.
그런데,
JavaScript에서 이벤트에 의한 값을 변수에 담아서
PHP에서 처리를 하려면
다음단계가 되는 Request가 발생되어야 해서
클라이언트에서 서버로의 변수 전달이 되어야 합니다.
서버측에서는 Request 된 값(Post / Get) 등에 의해 DOM의 파라미터로 포함되어 전달받은값을
PHP변수에 재할당해서 처리는 가능합니다.
그런데 시점이 다르다고 말씀드린 부분이 주요 요소입니다.
즉,
한 문서 내에서 처리의 흐름은 PHP 와 JavaScript가 다릅니다.
만약,
JavaScript의 특정 변수값을
서버측에 보내서 처리한후 다시금
브라우저에서 사용하거나
JavaScrpt의 특정 변수값을
DOM문서 내애서 JavaScript변수로의 사용은 가능합니다.
위의 문법으로는 불가능하고
더군다나
<iframe 태그와> </iframe> 태그 사이의 값은 출력되지 않습니다.
그 태그사이에는 브라우저에서 iframe이 지원하지 않을때 출력되는 안내문구인데
요즘 iframe을 지원하지 않는 브라우저는 없다고 봐야 합니다.
원하시는 처리방법이 어떤것인지 다시 설계를 하는게 좋을듯 싶네요
자바스크립트(마우스 이벤트)에서
어떤 값을 서버(PHP)로 전달하는 것은
주로 ajax로 처리합니다.
서버 php 문서에 코딩된 내용
123<?php echo 456; ?>789
클라이언트가 서버의 php 문서를 요청했을때 응답받은 내용
123456789
클라이언트 쪽에서 무언가를 선언해도
이미 그 시점에는 서버문서의 결과가 응답된 상태이기 때문에
의도대로 수행이 불가능한 구문입니다.
반대로 이런 경우는 가능합니다.
서버 php 문서에 코딩된 내용
var fbcode = "<?php echo 'abc'; ?>";
클라이언트가 서버의 php 문서를 요청했을때 응답받은 내용
var fbcode = "abc";
여러분의 관심에 감사드립니다.