테스트 사이트 - 개발 중인 베타 버전입니다

스크립트에서 php function 사용 할때요.. 채택완료

그렌트힐 1년 전 조회 7,678

</p>

<p><script></p>

<p>let kind = 'A';</p>

<p>let ggggg = "<?php echo find('A'); ?>"; // 문장을 완성형으로 작성했을경우...

console.log('=== >>1>>>===='+ggggg); // ok 로 잘 찍힙니다.</p>

<p> </p>

<p>let tttttt = '<?php echo find("${kind }'); ?>`; // 스크립트 변수값을 보낼경우

console.log('=== >>2>>>===='+tttttt);  // kind 값이 넘어가지 않아 no 찍힙니다. 



let ccccc = '<?php echo find("' + kind + '"); ?>'; // 스크립트 변수값을 보낼경우

console.log('=== >>3>>>===='+ccccc);  // kind 값이 넘어가지 않아 no 찍힙니다.

 </p>

<p></script></p>

<p><?php</p>

<p>function find($g){

    if($g == 'A'){</p>

<p>       $gt = 'ok';</p>

<p>    } else {</p>

<p>       $gt = 'no';</p>

<p>    }</p>

<p>    return $gt;</p>

<p>}</p>

<p>?></p>

<p>

 

안녕하세요..

스크립트에서 php function 을 쓸때요..

위처럼 보시면 인수값을 직접 넣고 하면 이상없이 되는데요..

스크립트의 변수를 넣어보려고 하면...되지가 않아서요..

제가 구문을 잘못 쓰는게 아닌가 싶기도 하고요..

원래 안되는건지도 잘 모르겠습니다....

해당 내용으로 검색이 잘 되지 않아서 이렇게 질문글 올려봅니다.


금요일 저녁 좋은시간 보내시구요..

읽어 주셔서 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
1년 전

클라이언트 스크립트와 서버 스크립트는 서로간 직접 호출을 할수 없습니다.

그런 경우 보통 Ajax, fetch 와 같은 추가적인 통신을 사용해 처리합니다.

 

문서에 담긴 코드의 실행 순서도 중요한데

<?php ... ?> 블럭의 코드가 서버에서 우선 실행 완료되고

사용자에게는 그 실행이 완료된 결과가 전달됩니다.

 

다음과 같은 코드를 포함하는 문서가 서버에 있다면

</p>

<p><?php</p>

<p>function find($g){

    if($g == 'A'){

       $gt = 'ok';

    } else {

       $gt = 'no';

    }

    return $gt;

}</p>

<p>?></p>

<p><script></p>

<p>let ok = "<?php echo find('A'); ?>";</p>

<p></script></p>

<p>

 

사용자가 문서를 서버에 요청할때 서버에서 실행된 후

사용자에게 전달되는 최종 문서는 다음과 같습니다.

</p>

<p><script></p>

<p>let ok = "ok";</p>

<p></script></p>

<p>

 

문서를 서버로부터 응답받는 시점에

서버 스크립트는 이미 실행 완료되어 사라집니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렌트힐
1년 전
답변 감사합니다. 진행되는 순서가 이미 맞지가 않는거군요...
많은 도움 되었습니다. ^^

댓글을 작성하려면 로그인이 필요합니다.


$g = $_GET[g];    // 페이지에서 get 방식으로 받는다면 이렇게 써주고요


오타인것 같습니다

let tttttt = '<?php echo find("{$kind}"); ?>'; // 스크립트 변수값을 보낼경우
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렌트힐
1년 전
답변 감사합니다. 그 문제는 아니구요..
스크립트 처리중에 php function 을 쓸수 있는지 궁금해서 질문 드렸습니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

1년 전

스크립트의 변수를 넣어보려고 하면...되지가 않아서요..

<=== 어떻게 했다는 것인지 설명이 있어야합니다

gggg는 php함수를 호출하여 나온 값을 넣은 변수인데 php함수 find를 스크립트에서 어떻게 호출 하나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렌트힐
1년 전
let ggggg = "<?php echo find('A'); ?>"; 의 경우는...
find('A') 라고 그냥 직접 값을 넣은 상태를 말합니다.
저렇게 그냥 작성하면 php function 이 작동해서..콘솔 찍어보면 값이 찍힌걸 볼수 있습니다.
그냥 그 말이었습니다. ^^;;

댓글을 작성하려면 로그인이 필요합니다.

1년 전

php 는 php일뿐, php내에서 자바스크립트에서 생성된 변수를 사용할 수 없습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렌트힐
1년 전
답변 감사합니다. 안되는 거군요..^^;;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인