Maison  >  Article  >  développement back-end  >  Comment réaliser la soumission d'un formulaire php sans accéder à la page

Comment réaliser la soumission d'un formulaire php sans accéder à la page

PHPz
PHPzoriginal
2023-04-25 15:11:461183parcourir

Dans le développement Web, les formulaires sont un élément essentiel. Les utilisateurs soumettent des données au serveur via le formulaire. Le serveur traite les données après les avoir reçues et renvoie les résultats correspondants à l'utilisateur. En PHP, le traitement des formulaires utilise généralement la méthode POST ou GET, et l'opération post-soumission consiste généralement à passer à une autre page pour le traitement. Cependant, dans certains cas, nous souhaitons ne pas accéder à la page après avoir soumis le formulaire, ni passer à une autre page pour le traitement. Cet article se concentrera sur la mise en œuvre de pages non sautantes et de pages sautantes lors de la soumission de formulaires PHP.

1. Comment implémenter la soumission d'un formulaire PHP sans passer à la page

1. Utiliser la technologie Ajax

Ajax est une technologie qui peut interagir avec le serveur sans actualiser la page. L'utilisation d'Ajax pour soumettre des données de formulaire peut envoyer des données directement au serveur sans actualiser la page ni passer à d'autres pages.

Méthode d'implémentation spécifique :

Tout d'abord, vous devez introduire la bibliothèque jQuery et un fichier js dans la page Web, par exemple :

Écrivez le code suivant dans le fichier form.js :

$(document).ready(function( ) {
// Obtenir les données du formulaire
var formData = $('#myForm').serialize();
//Envoyer la requête Ajax
$.ajax({

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

});
});

En php code, traiter les données du formulaire La méthode est la même que précédemment, sauf qu'il n'est pas nécessaire de passer à d'autres pages pour le traitement. Par exemple :

$name = $_POST['name'];
$email = $_POST['email'];
// Effectuer le traitement des données
$result = "Bonjour, " $name. . "! Votre email est " . $email;
// Renvoie le résultat
echo $result;
?>

2. Utilisation de l'objet XMLHttpRequest

En plus d'utiliser la bibliothèque jQuery et la technologie Ajax pour soumettre le formulaire. sans sauter à la page, cela peut également être réalisé en utilisant l'objet XMLHttpRequest. L'objet XMLHttpRequest est l'une des méthodes couramment utilisées dans le développement Web, grâce à laquelle la transmission de données asynchrone peut être réalisée.

Méthode d'implémentation spécifique :

Tout d'abord, vous devez créer un élément de formulaire dans la page Web et ajouter un écouteur. Lorsque vous cliquez sur le bouton Soumettre, les données sont envoyées au serveur via l'objet XMLHttpRequest. Par exemple :










< 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>

Dans le code php, les données du formulaire sont traitées de la même manière qu'auparavant, mais il n'est pas nécessaire de passer à d'autres pages pour le traitement. Par exemple :

$name = $_POST['name'];
$email = $_POST['email'];
// Effectuer le traitement des données
$result = "Bonjour, " $name. . "! Votre email est " . $email;
// Renvoie le résultat
echo $result;
?>

2. Méthode d'implémentation de la page de renvoi de soumission de formulaire php

Dans certains cas, nous devons passer à une autre. pages à traiter. Par exemple, lors de la création d'un nouveau compte utilisateur, vous devez accéder à la page d'informations utilisateur pour l'afficher après avoir soumis le formulaire. PHP fournit une variété de méthodes pour accéder à la page, qui sont présentées ci-dessous :

1. Méthode d'en-tête

La méthode d'en-tête est l'une des méthodes les plus couramment utilisées pour accéder à la page en PHP. Cette méthode peut définir le HTTP. en-tête pour réaliser le saut. Par exemple :

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

Il ne doit y avoir aucune sortie avant de définir la méthode d'en-tête, car cela entraînera l'en-tête HTTP pas être réglé correctement. Dans le même temps, il convient de noter que la méthode exit ou die doit être ajoutée après la méthode header pour garantir que le programme ne continue pas à s'exécuter après avoir sauté à la page.

2. Saut JavaScript

En plus de la méthode d'en-tête, JavaScript peut également être utilisé pour accéder à la page. Par exemple :

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

Cette méthode peut être directement intégrée dans le code PHP. Il convient de noter que lorsque vous utilisez JavaScript pour accéder à une page, l'URL affichée dans le navigateur ne changera pas. Vous ne pourrez voir l'URL redirigée que lors de la visualisation du code source.

3.meta tag jump

Une autre façon consiste à utiliser la balise Ceci peut être réalisé en ajoutant le code suivant à la balise head :

Parmi eux, l'attribut content représente le temps de saut en secondes, et l'attribut url représente l'URL de la page cible.

Summary

Cet article présente la méthode d'implémentation de soumission de formulaire php sans sauter à la page, principalement via la technologie Ajax et l'objet XMLHttpRequest. Dans le même temps, il introduit également trois façons d'implémenter des pages de saut pour la soumission de formulaires PHP, à savoir la méthode d'en-tête, le saut JavaScript et le saut de balise . Chaque méthode a ses propres avantages et inconvénients, et vous devez choisir la méthode appropriée en fonction des besoins réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn