IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Générer un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut Générer un formulaire
    Bonjour,

    J'aimerais vous soumettre mon problème.
    Je cherche à faire une fonction pour générer un formulaire.

    Pour le moment, j'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function formulaireErreur($post,$retour,$text) {
    	$form="<form action='".$retour."' method='POST'>";
    	foreach(..) {
    	   $form.="<input type='hidden' name='??' value='??' />";
    	}
    	$form.="<input type='submit' value='".$text."' />";
    	$form.="</form>";
    }
    La valeur de $post, ce sont toutes les valeurs passer par $_POST

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo formulaireErreur($_POST,'connexion.html','Modifier');
    Je ne sais pas trop commentaire construire le foreach :S

    Auriez vous une idée ?

    Merci

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Tu peux faire quelque chose comme ca:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function formulaireErreur($post,$retour,$text) {
    	if(is_array($post)){
    		$retour = filter_var($retour, FILTER_SANITIZE_SPECIAL_CHARS);
    		$text = filter_var($text, FILTER_SANITIZE_SPECIAL_CHARS);
    		$form="<form action='".$retour."' method='POST'>";
    		foreach($post as $nomChamp=>$value) {
    			$champFiltre = filter_var($nomChamp, FILTER_SANITIZE_SPECIAL_CHARS);
    			$valueFiltre = filter_var($value, FILTER_SANITIZE_SPECIAL_CHARS);
    		   $form.="<input type='hidden' name='".$champFiltre."' value='".$valueFiltre."' />";
    		}
    		$form.="<input type='submit' value='".$text."' />";
    		$form.="</form>";
    		return $form;
    	}
    }
    N'oublie pas de filtrer tes données quand tu les passes dans du code HTML.

  3. #3
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    Merci

    Par contre, j'ai pas bien compris pourquoi tu as mis ces trucs là
    FILTER_SANITIZE_SPECIAL_CHARS

    Tu peux m'expliquer ce que c'est ?

    Merci

  4. #4
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Points : 54
    Points
    54
    Par défaut
    http://php.net/manual/fr/book.filter.php

    C'est écrit dans la doc :
    Transforme en entité HTML les caractères '"<>& et les caractères ASCII de valeur inférieur à 32, et supprime ou encode les autres caractères spéciaux.
    Ça va empêcher un utilisateur malveillant d'envoyer du script JS à travers ton formulaire par exemple.

  5. #5
    Membre régulier Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Points : 92
    Points
    92
    Par défaut
    Merci d'avoir collé les infos. Je suis dans une entreprise où mon accès à Internet est très limité. J'ai déjà accès a developpez.net, c'est cool, le reste c'est bloqué :S

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Utiliser php sans avoir droit à sa documentation.
    Tu peux leur dire que c'est stupide ^^

    Par contre, je te conseil de couplé l'affichage de message d'erreur et la création du premier formulaire.

    Par exemple, tu pourrai tester si le champ toto est dans ta liste d'erreur et afficher un message de l'erreur à ce moment là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach($listInput as $input){
    if(array_key_exist($erreurs,$input)){
    //affichage du message utilisateur "tu sais pas taper au clavier boulet"
    }
    // affichage de l'input.
    }

Discussions similaires

  1. [PDF] Générer un formulaire enregistrable
    Par tukutt dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/10/2009, 18h43
  2. Réponses: 2
    Dernier message: 18/03/2009, 01h31
  3. Générer un formulaire suite à une Treeview
    Par supertoms dans le forum IHM
    Réponses: 0
    Dernier message: 15/04/2008, 15h38
  4. [FPDF] Générer des formulaires PDF ?
    Par emilise dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 02/03/2007, 12h30
  5. générer une formulaire à partir d'une dtd
    Par grodwar dans le forum Valider
    Réponses: 1
    Dernier message: 13/04/2006, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo