Formulaire d'enquête php. Formulaires en PHP. Variables prédéfinies

20/02/05 24,6K

Ce n’est un secret pour personne : le moyen le plus courant d’interagir entre une page HTML et un site Web est un formulaire. Le formulaire (c'est-à-dire l'élément HTML formé par la balise form) est également utilisé par free services postaux, les magasins d'électronique et bien d'autres types de sites.

Traitement formes simples utiliser PHP est simple. Cependant, il arrive parfois qu'il soit nécessaire de traiter un formulaire contenant plusieurs champs du même type, même si leur nombre peut varier en fonction du type de champ. large gamme et leur nombre n'est pas connu à l'avance. Dans de tels cas, PHP prévoit de traiter des champs du même type comme un tableau de valeurs.


Examinons de plus près les options pour différents types champs.

Champs de texte

Sous champs de texte Cet article fait référence aux éléments créés par des balises d'entrée avec une valeur de paramètre de type text et une balise textarea. Il est plus simple d'organiser le traitement d'un formulaire composé de plusieurs de ces champs. La liste ci-dessous montre le balisage HTML pour un tel formulaire.






Comme vous pouvez le voir dans la liste, les noms des éléments du formulaire, du point de vue PHP, sont des éléments de tableau. Par conséquent, le script PHP qui traitera ce formulaire traitera tous les nombreux champs de texte de ce formulaire comme un seul tableau. À éléments individuels vous pouvez accéder par index ou utiliser l'énumération en utilisant commandes de liste et each , comme dans l'exemple suivant.

n"; ?>

Commutateurs

Dans cet article, les cases à cocher sont des éléments créés dans les balises d'entrée avec le paramètre type défini sur checkbox . Le formulaire d'utilisation d'un nombre variable de «switches» est construit exactement de la même manière. Veuillez noter que le choix signification spécifique Le commutateur (c'est-à-dire la valeur de la propriété value) n'est pas important. Un exemple est présenté dans la liste ci-dessous :






Toutefois, le traitement d'un tel formulaire diffère du traitement décrit pour les champs de texte. DANS dans ce cas il est nécessaire de déterminer si un visiteur du site a activé tel ou tel interrupteur. S'il est activé, alors l'élément de tableau correspondant existe ; sinon, il est manquant. La liste suivante est un exemple Script PHP qui imprime les boutons radio activés :

Boutons radio

Avant de décrire le traitement des boutons radio, il est nécessaire de rappeler leur fonctionnement. L'essence des boutons radio (éléments créés étiqueté avec entrée avec la valeur du paramètre type égale à radio ) est qu'en sélectionnant un bouton, l'utilisateur désélectionne automatiquement un autre bouton du même ensemble. Les boutons sont combinés dans un ensemble très simplement : tous les boutons de l'ensemble portent le même nom.

Mais les valeurs (c'est-à-dire les paramètres de valeur) des boutons de l'ensemble sont différentes. Et la valeur du bouton sélectionné avec le nom de l'ensemble sera envoyée au site. Tout comme pour les champs de texte et les boutons radio, les noms des ensembles de boutons radio doivent être formatés comme des noms d'éléments de tableau en PHP. Un exemple d’un tel formulaire est donné dans la liste suivante :

// premier jeu de boutons
// deuxième jeu de boutons
// troisième jeu de boutons

Le traitement des boutons radio combine les idées d'utilisation des champs de texte et des boutons radio dans le traitement. Si l'auteur de la page HTML n'a pas défini de valeur par défaut et que l'utilisateur n'a pas sélectionné de bouton spécifique dans l'ensemble des boutons radio, alors cet élément ne sera pas dans le tableau (comme pour les commutateurs).

Bonne journée à tous. Alexey Gulynin est en contact. Dans le dernier article, vous avez appris ce qu'est la sérialisation en php. Dans cet article, je voudrais parler de la façon de travailler avec formulaires en PHP. Langage PHP est conçu pour programmer des scripts Web, et le traitement des formulaires est peut-être l'endroit le plus important de ce processus. De nos jours, on ne trouve même plus de sites qui ne disposent pas, par exemple, d’inscription ou de formulaire. retour, ou un questionnaire. Forums, boutiques en ligne, ajout d'un commentaire, envoi d'un message à réseau social- tout cela est le traitement des données placées dans les champs du formulaire. Utilisons un exemple pour voir comment traiter les formulaires en PHP.
Nous mettrons en œuvre tâche simple: vous devez créer 2 champs (prénom et nom), transmettre ces données au script action.php, le résultat devrait être un message de bienvenue "Bienvenue, nom prénom". Pour ceux qui ont oublié comment les formulaires sont créés et quels sont les champs, vous pouvez y jeter un œil. Créons un fichier test.html :

Nom: Nom de famille:


Veuillez noter que le fichier action.php (dans notre cas) doit se trouver dans le même dossier que le fichier test.html. Ici, vous pouvez spécifier à la fois relatif et chemins absolus. Attention, de nombreuses erreurs sont associées à une mauvaise spécification du chemin d'accès au script du gestionnaire de formulaire.

Créons un fichier action.php avec le contenu suivant :

Si nous ouvrons maintenant le fichier test.html, remplissons les champs du formulaire et cliquons sur le bouton, nous aboutirons au fichier action.php, où un message s'affichera. Dans ce cas, le navigateur accède au script action.php et le transmet via le "?" toutes les significations attributs de nom situé à l'intérieur des balises

, séparés par & . Veuillez noter ce qui remplace $_SERVER . Nous pouvons résoudre notre problème en analysant la chaîne QUERY_STRING en utilisant fonctionnalités standards

sur le travail avec des chaînes en PHP, mais il est préférable d'utiliser un autre mécanisme - en utilisant le tableau $_REQUEST. PHP place toutes les données reçues des champs du formulaire dans le tableau $_REQUEST, quelle que soit la manière dont les données ont été transmises : POST ou GET (vous pouvez le découvrir via $_SERVER["REQUEST_METHOD"] ). Permettez-moi de vous rappeler en quoi ces méthodes diffèrent :

La méthode GET est publique, la méthode POST est privée, c'est-à-dire ils diffèrent par la manière dont les paramètres sont transmis. Exemple: 1) Si on utilise méthode de publication
: monsite.ru/request.php. 2) Si on utilise obtenir la méthode

: mysite.ru/request.php?myname=”Alex”&surname=”Gulynin”.

De plus, en plus du tableau $_REQUEST, PHP crée les tableaux $_GET et $_POST. Mettons maintenant en œuvre notre tâche, sur la base des connaissances acquises :

Si nous remplissons maintenant le formulaire et cliquons sur le bouton, nous verrons que le script action.php nous salue par nom et prénom. Tout fonctionne correctement.

Tout va bien ici, mais si nous changeons le nom du script, nous devrons apporter des modifications au fichier test.html. Modifions le fichier action.php pour que lorsque nous y accédons, il affiche soit un formulaire lorsque nous n'avons rien soumis, soit un message de bienvenue lorsque nous cliquons sur un bouton : Nom de famille:


">Nom : .
Désormais, nous ne dépendons plus du nom du script, car nous l'avons défini via la variable d'environnement $_SERVER["SCRIPT_NAME"] . La construction =$_SERVER["SCRIPT_NAME"]?> est équivalente à la construction

Il en existe bien d'autres que la variable d'environnement SCRIPT_NAME. Les formulaires HTML sont des éléments d'interface complexes. Ils comprennent différents éléments fonctionnels : des champs de saisie

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :