[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
반응형