안녕하세요
자바스크립트에서 정의한 변수($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 문서에 코딩된 내용
123<?php echo 456; ?>789
클라이언트가 서버의 php 문서를 요청했을때 응답받은 내용
123456789
클라이언트 쪽에서 무언가를 선언해도
이미 그 시점에는 서버문서의 결과가 응답된 상태이기 때문에
의도대로 수행이 불가능한 구문입니다.
반대로 이런 경우는 가능합니다.
서버 php 문서에 코딩된 내용
var fbcode = "<?php echo 'abc'; ?>";
클라이언트가 서버의 php 문서를 요청했을때 응답받은 내용
var fbcode = "abc";
답변을 작성하려면 로그인이 필요합니다.