>웹 프론트엔드 >프런트엔드 Q&A >PHP에 자바스크립트 값을 할당하는 방법

PHP에 자바스크립트 값을 할당하는 방법

王林
王林원래의
2023-05-16 11:39:371719검색

프런트엔드 기술의 발전으로 JavaScript가 점점 더 널리 사용됩니다. 웹 애플리케이션에서는 처리를 위해 프런트엔드 페이지에서 백엔드 PHP로 일부 값을 전달해야 하는 경우가 종종 있는데, 여기에는 JavaScript 값과 PHP 간의 전송 문제가 포함됩니다. 이 기사에서는 JavaScript 값을 PHP에 할당하는 여러 가지 방법을 소개합니다.

1. 양식 제출 사용

JavaScript 값을 PHP에 전달하는 가장 일반적인 방법은 양식 제출을 이용하는 것입니다. JavaScript에서는 DOM 작업을 통해 양식 요소의 값을 얻은 다음 이 값을 숨겨진 입력 요소에 할당하고 마지막으로 처리를 위해 양식을 백엔드 PHP에 제출할 수 있습니다. 샘플 코드는 다음과 같습니다.

<form action="handle.php" method="post">
  <input type="hidden" name="username" id="username">
  <input type="hidden" name="age" id="age">
  <button type="submit" onclick="submitForm()">提交</button>
</form>

<script>
  function submitForm() {
    var username = document.getElementById("username").value;
    var age = document.getElementById("age").value;
    document.getElementById("username").value = username;
    document.getElementById("age").value = age;
  }
</script>

이 예에서는 두 개의 숨겨진 입력 요소가 포함된 양식을 정의합니다. 이 두 요소의 값은 JavaScript에서 얻은 사용자 이름 및 연령 값입니다. 제출 버튼을 클릭하면 submitForm() 함수가 호출되고, 획득된 값이 두 개의 숨겨진 요소에 할당된 다음 처리를 위해 양식이 백엔드 PHP에 제출됩니다.

양식에서 전달된 값을 처리할 때 PHP의 $_POST 배열을 사용하여 이러한 값을 가져올 수 있습니다. 샘플 코드는 다음과 같습니다.

$username = $_POST['username'];
$age = $_POST['age'];

2. AJAX 기술 사용

양식 제출을 통해 JavaScript 값을 전달하는 것 외에도 또 다른 일반적인 방법은 AJAX 기술을 사용하는 것입니다. AJAX는 페이지를 새로 고치지 않고도 백엔드 PHP에 요청을 보낼 수 있으므로 처리를 위해 JavaScript 값을 PHP에 전달합니다. 샘플 코드는 다음과 같습니다.

<script>
  var username = '张三';
  var age = 18;

  var xhr = new XMLHttpRequest();
  xhr.open('POST', 'handle.php', true);
  xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  xhr.onreadystatechange = function () {
    if(xhr.readyState == 4 && xhr.status == 200) {
      console.log(xhr.responseText);
    }
  };
  xhr.send('username=' + username + '&age=' + age);
</script>

이 예에서는 사용자 이름과 연령이라는 두 가지 변수가 포함된 JavaScript 개체를 정의합니다. 그런 다음 XMLHttpRequest 객체가 생성되고 open() 메서드를 통해 요청 유형과 주소가 지정됩니다. 요청 헤더에서 Content-type이 application/x-www-form-urlencoded로 설정되어 있습니다. 이는 POST 메서드를 사용하여 백엔드 PHP에 요청을 보내고 데이터를 요청 본문. 마지막으로 send() 메서드를 사용하여 처리를 위해 데이터를 백엔드 PHP로 보냅니다.

PHP에서는 $_POST 배열을 통해 이러한 값을 얻을 수 있습니다. 샘플 코드는 다음과 같습니다.

$username = $_POST['username'];
$age = $_POST['age'];

3. 쿠키를 사용하여 전달

양식 제출 및 AJAX 기술 외에도 쿠키를 사용하여 JavaScript 값을 전달할 수도 있습니다. 쿠키는 클라이언트 측에 데이터를 저장하고 프런트엔드와 백엔드 간에 데이터를 전달하는 메커니즘입니다. 샘플 코드는 다음과 같습니다.

<script>
  var username = '张三';
  var age = 18;

  document.cookie = 'username=' + username;
  document.cookie = 'age=' + age;
</script>

이 예제에서는 JavaScript의 document.cookie 속성을 사용하여 쿠키 값을 설정합니다. 쿠키를 설정하는 방법은 값과 이름을 등호로 연결한 다음 세미콜론과 공백을 사용하여 여러 키-값 쌍을 구분하는 것입니다. 이 예에서는 사용자 이름과 연령 값을 쿠키 값으로 설정합니다.

PHP에서는 $_COOKIE 배열을 사용하여 이러한 값을 얻을 수 있습니다. 샘플 코드는 다음과 같습니다.

$username = $_COOKIE['username'];
$age = $_COOKIE['age'];

쿠키를 사용하여 값을 전달할 때 프런트엔드와 백엔드 사이에 쿠키가 올바르게 전달되는지 확인해야 한다는 점에 유의해야 합니다. 특히 요청을 교차할 때 일부 보안 문제가 발생할 수 있으며 쿠키 전달의 보안을 보장하려면 HttpOnly와 같은 쿠키 속성을 사용해야 합니다.

요약:

이 문서에서는 양식 제출, AJAX 기술 및 쿠키 전달이라는 세 가지 JavaScript 값을 PHP에 할당하는 방법을 소개합니다. 실제 개발에서는 다양한 요구 사항에 따라 프런트엔드 및 백엔드 데이터 상호 작용을 달성하기 위해 데이터 전송에 다양한 방법을 선택할 수 있습니다.

위 내용은 PHP에 자바스크립트 값을 할당하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.