스크립트에서 php function 사용 할때요..
본문
<script>
let kind = 'A';
let ggggg = "<?php echo find('A'); ?>"; // 문장을 완성형으로 작성했을경우...
console.log('=== >>1>>>===='+ggggg); // ok 로 잘 찍힙니다.
let tttttt = '<?php echo find("${kind }'); ?>`; // 스크립트 변수값을 보낼경우
console.log('=== >>2>>>===='+tttttt); // kind 값이 넘어가지 않아 no 찍힙니다.
let ccccc = '<?php echo find("' + kind + '"); ?>'; // 스크립트 변수값을 보낼경우
console.log('=== >>3>>>===='+ccccc); // kind 값이 넘어가지 않아 no 찍힙니다.
</script>
<?php
function find($g){
if($g == 'A'){
$gt = 'ok';
} else {
$gt = 'no';
}
return $gt;
}
?>
안녕하세요..
스크립트에서 php function 을 쓸때요..
위처럼 보시면 인수값을 직접 넣고 하면 이상없이 되는데요..
스크립트의 변수를 넣어보려고 하면...되지가 않아서요..
제가 구문을 잘못 쓰는게 아닌가 싶기도 하고요..
원래 안되는건지도 잘 모르겠습니다....
해당 내용으로 검색이 잘 되지 않아서 이렇게 질문글 올려봅니다.
금요일 저녁 좋은시간 보내시구요..
읽어 주셔서 감사합니다.
!-->답변 4
클라이언트 스크립트와 서버 스크립트는 서로간 직접 호출을 할수 없습니다.
그런 경우 보통 Ajax, fetch 와 같은 추가적인 통신을 사용해 처리합니다.
문서에 담긴 코드의 실행 순서도 중요한데
<?php ... ?> 블럭의 코드가 서버에서 우선 실행 완료되고
사용자에게는 그 실행이 완료된 결과가 전달됩니다.
다음과 같은 코드를 포함하는 문서가 서버에 있다면
<?php
function find($g){
if($g == 'A'){
$gt = 'ok';
} else {
$gt = 'no';
}
return $gt;
}
?>
<script>
let ok = "<?php echo find('A'); ?>";
</script>
사용자가 문서를 서버에 요청할때 서버에서 실행된 후
사용자에게 전달되는 최종 문서는 다음과 같습니다.
<script>
let ok = "ok";
</script>
문서를 서버로부터 응답받는 시점에
서버 스크립트는 이미 실행 완료되어 사라집니다.
!-->!-->php 는 php일뿐, php내에서 자바스크립트에서 생성된 변수를 사용할 수 없습니다.
스크립트의 변수를 넣어보려고 하면...되지가 않아서요..
<=== 어떻게 했다는 것인지 설명이 있어야합니다
gggg는 php함수를 호출하여 나온 값을 넣은 변수인데 php함수 find를 스크립트에서 어떻게 호출 하나요?
$g = $_GET[g]; // 페이지에서 get 방식으로 받는다면 이렇게 써주고요
오타인것 같습니다
let tttttt = '<?php echo find("{$kind}"); ?>'; // 스크립트 변수값을 보낼경우
답변을 작성하시기 전에 로그인 해주세요.