[PHP] 자바스크립트로 php 변수 변경은 불가능

Lpla

·

2021. 6. 25. 21:01

반응형

이번 포스팅은 강의나 지식 제공 용도가 아니라 개인 복습용 내용 정리글이다.

 

 

<?php $box = ''; ?>
<script>
  let a = 1;
  if ( a < 10 ) {
    <?php $box = 2; ?>
  } else {
    <?php $box = 3; ?>
  }
  console.log('<?php echo $box; ?>');  // 3
</script>

 

자바스크립트를 사용하여 php 변수의 값을 변경하는 것은 불가능하다.

php는 서버에서 실행되고 자바스크립트는 클라이언트 pc에서 실행된다.

 

즉 위 코드를 살펴보면 php가 먼저 실행되고 그 다음에 자바스크립트가 실행되기 때문에

자바스크립트의 조건문은 무시하고 php가 모두 실행된다.

<?php $box = 2; ?>
<?php $box = 3; ?>

 

 

따라서 $box 변수에는 마지막 3 값이 할당된 상태다.

그리고 빈 값을 가지고 자바스크립트 조건문이 실행된다.

 

 

만약 자바스크립트로 php 변수를 변경하고 싶다면 쿠키에 저장하여 사용하거나 ajax로 php변수를 전달할 수 있다.

 

참고 : https://stackoverflow.com/questions/1917576/how-do-i-pass-javascript-variables-to-php

반응형