Génération de formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Génération de formulaire

Re: Génération de formulaire

par @rthur » 11 déc. 2018, 18:36

Bonjour et bienvenue sur PHPfrance,

Le point de départ c'est de récupérer tout ce qui est passé en paramètre dans l'url, c'est à dire en GET.
Pour cela PHP à une variable dédiée à cela qui s'appelle $_GET.
Donc il faut que tu fasses une boucle pour récupérer toutes les infos passées en GET et faire un traitement ensuite.

Voici le point de départ :
foreach($_GET as $type_de_champ => $nom_de_champ) {
     // Là tu fais ton traitement en fonction de $type_de_champ en lui affectant le nom $nom_de_champ
     // ...
}

Génération de formulaire

par Kamijo » 11 déc. 2018, 13:25

Bonjour, je viens vous demander de l'aide, car j'essaie de générer le code du formulaire ci-dessous automatiquement, grâce à un fichier form.php qui prend les requêtes de la forme :

Code : Tout sélectionner

form.php?submit=go&text[]=nom&text[]=prenom&radio[]=homme&radio[]=femme&radio[]=autre
qui généra le code du formulaire suivant :

Code : Tout sélectionner

<form action="go.php" method="get"> Nom: <input type="text" name="nom" /> <br /> Prenom: <input type="text" name="prenom" /> <br /> <input type="radio" name="choice" value="homme" /> Homme <input type="radio" name="choice" value="femme" /> Femme <input type="radio" name="choice" value="autre" /> Autre <br/> <input type="submit" value="Go" /> </form>
J'aimerai que la page form.php ne doit pouvoir accepter dans l’URL : 1 seul paramètre submit, 1 à plusieurs paramètres text, et 0 à plusieurs paramètres radio.
Sinon on redirige le client sur une page erreur.php.

Or je pensais créer un fichier, mais je ne vois pas du tout comment procéder.
Si vous pouvez m'éclairer, je vous serai reconnaissant, merci d'avance pour vos réponses, bonne journée !