자바스크립트 변수를 php에서 사용

자바스크립트 변수를 php에서 사용

QA

자바스크립트 변수를 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 문서에 코딩된 내용

123<?php echo 456; ?>789

 

클라이언트가 서버의 php 문서를 요청했을때 응답받은 내용

123456789

 

클라이언트 쪽에서 무언가를 선언해도

이미 그 시점에는 서버문서의 결과가 응답된 상태이기 때문에

의도대로 수행이 불가능한 구문입니다.

 

반대로 이런 경우는 가능합니다.

 

서버 php 문서에 코딩된 내용

var fbcode = "<?php echo 'abc'; ?>";

 

클라이언트가 서버의 php 문서를 요청했을때 응답받은 내용

var fbcode = "abc";

답변을 작성하시기 전에 로그인 해주세요.
전체 123,506 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT