>  기사  >  백엔드 개발  >  페이지로 이동하지 않고 PHP 양식 제출을 달성하는 방법

페이지로 이동하지 않고 PHP 양식 제출을 달성하는 방법

PHPz
PHPz원래의
2023-04-25 15:11:461181검색

웹 개발에서 양식은 필수 요소입니다. 사용자는 양식을 통해 서버에 데이터를 제출합니다. 서버는 데이터를 받은 후 처리하고 해당 결과를 사용자에게 반환합니다. PHP에서 양식 처리는 일반적으로 POST 또는 GET 메서드를 사용하며 제출 후 작업은 일반적으로 처리를 위해 다른 페이지로 이동하는 것입니다. 그러나 어떤 경우에는 양식을 제출한 후 해당 페이지로 이동하지 않거나 처리를 위해 다른 페이지로 이동하지 않으려는 경우도 있습니다. 이 기사에서는 PHP 양식을 제출할 때 점프하지 않는 페이지와 점프 페이지를 구현하는 방법에 중점을 둘 것입니다.

1. 페이지로 이동하지 않고 PHP 양식 제출을 구현하는 방법

1. Ajax 기술 사용

Ajax는 페이지를 새로 고치지 않고도 서버와 상호 작용할 수 있는 기술입니다. Ajax를 사용하여 양식 데이터를 제출하면 페이지를 새로 고치거나 다른 페이지로 이동하지 않고도 서버에 직접 데이터를 보낼 수 있습니다.

구체적인 구현 방법:

먼저 웹 페이지에 jQuery 라이브러리와 js 파일을 도입해야 합니다. 예:

form.js 파일에 다음 코드를 작성하세요:

$(document).ready(function( ) {
// 양식 데이터 가져오기
var formData = $('#myForm').serialize();
//Ajax 요청 보내기
$.ajax({

type: "POST",
url: "submit.php",
data: formData,
success: function(result) {
  // 处理服务器返回的数据
  $('#result').text(result);
}

});
});

php에서 코드, 양식 데이터 처리 방법은 처리를 위해 다른 페이지로 이동할 필요가 없다는 점을 제외하면 이전과 동일합니다. 예:

$name = $_POST['name'];
$email = $_POST['email'];
// 데이터 처리 수행
$result = "안녕하세요, " . . "! 귀하의 이메일은 "입니다. $email;
// 결과 반환
echo $result;
?>

2. XMLHttpRequest 객체 사용

양식 제출에 추가로 페이지로 이동하지 않고도 XMLHttpRequest 객체를 사용하여 이 작업을 수행할 수 있습니다. XMLHttpRequest 개체는 웹 개발에서 일반적으로 사용되는 방법 중 하나이며 이를 통해 비동기 데이터 전송이 가능합니다.

구체적인 구현 방법:

먼저 웹 페이지에 양식 요소를 생성하고 리스너를 추가해야 합니다. submit 버튼을 클릭하면 XMLHttpRequest 객체를 통해 데이터가 서버로 전송됩니다. 예:










< input type="button" value="Submit" id="submitButton">

<script><br> document.getElementById("submitButton").addEventListener("click", function() { </p> <pre class="brush:php;toolbar:false">var xhr = new XMLHttpRequest(); var formData = new FormData(document.getElementById('myForm')); xhr.open(&quot;POST&quot;, &quot;submit.php&quot;, true); xhr.send(formData); xhr.onreadystatechange = function() {   if (xhr.readyState == 4 &amp;&amp; xhr.status == 200) {     document.getElementById(&quot;result&quot;).innerHTML = xhr.responseText;   } }</pre> <p>});<br></script>

PHP 코드에서는 이전과 동일한 방식으로 양식 데이터를 처리하지만 처리를 위해 다른 페이지로 이동할 필요는 없습니다. 예:

$name = $_POST['name'];
$email = $_POST['email'];
// 데이터 처리 수행
$result = "안녕하세요, " . . "! 귀하의 이메일은 " . $email;
// 결과 반환
echo $result;
?>

2. PHP 양식 제출 점프 페이지 구현 방법

경우에 따라 다른 페이지로 이동해야 합니다. 처리할 페이지입니다. 예를 들어, 새 사용자 계정을 생성할 때 양식을 제출한 후 사용자 정보 페이지로 이동하여 이를 확인해야 합니다. PHP는 페이지로 이동하는 다양한 방법을 제공하는데, 그 내용은 아래와 같습니다.

1. 헤더 방법

헤더 방법은 PHP에서 페이지로 이동하는 데 가장 일반적으로 사용되는 방법 중 하나입니다. 점프를 달성하기 위해 헤더. 예:

header("위치: http://www.example.com/userinfo.php");
exit;

헤더 방법을 설정하기 전에는 출력이 없어야 합니다. 이렇게 하면 HTTP 헤더가 다음과 같이 되기 때문입니다. 올바르게 설정되지 않았습니다. 동시에 페이지로 점프한 후 프로그램이 계속 실행되지 않도록 헤더 메소드 뒤에 종료 또는 다이 메소드를 추가해야 한다는 점에 유의해야 합니다.

2. JavaScript 점프

헤더 방법 외에도 JavaScript를 사용하여 페이지로 이동할 수도 있습니다. 예:

<script><br> window.location.href="http://www.example.com/userinfo.php";<br></script>

이 메서드는 PHP 코드에 직접 포함될 수 있습니다. JavaScript를 사용하여 페이지로 이동할 때 브라우저에 표시되는 URL은 변경되지 않으며 소스 코드를 볼 때만 리디렉션된 URL을 볼 수 있습니다.

3.meta 태그 점프

또 다른 방법은 태그를 사용하여 페이지로 이동하는 것입니다. 이는 헤드 태그에 다음 코드를 추가하여 달성할 수 있습니다:

이 중 content 속성은 점프 시간을 초 단위로 나타내고, url 속성은 대상 페이지의 URL을 나타냅니다.

요약

이 글에서는 주로 Ajax 기술과 XMLHttpRequest 객체를 통해 페이지로 이동하지 않고 PHP 양식 제출을 구현하는 방법을 소개합니다. 동시에 헤더 메소드, JavaScript 점프 및 태그 점프라는 PHP 양식 제출을 위한 점프 페이지를 구현하는 세 가지 방법도 소개합니다. 각 방법에는 고유한 장점과 단점이 있으므로 실제 필요에 따라 적절한 방법을 선택해야 합니다.

위 내용은 페이지로 이동하지 않고 PHP 양식 제출을 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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