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 :

Réafficher les données d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Par défaut Réafficher les données d'un formulaire
    Bonjour, après envoi d'un formulaire, je vérifie les champs et j'affiche une erreur si un champ n'est pas valide ou vide.
    La partie vérification est faite en php, j'affiche une erreur avec un simple echo et un lien vers la page du formulaire, et là, je voudrais qu'en revenant sur la page du formulaire à l'aide de ce lien, les champs saisis soient toujours remplis avec les même valeurs.
    J'ai essayé d'affecter la valeur $_POST['nom_champ'] au champ en question ( directement dans le formulaire ), mais ça m'affiche pas la valeur du champ en question mais exactement $_POST['nom_champ'] lol

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Utilise echo.
    Par exemple, le code ci-dessous est au format HTML;
    En noir, le code PHP qui affiche la valeur de la saisie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <input type="text" name="nom_champ" value="<? echo $_POST['nom_champ']; ?>"/>
    Une autre solution est d'utiliser PHP pour écrire le code HTML;
    En vert, le code HTML et en rouge, les apostrophes pour encadrer la chaîne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="text" name="nom_champ" value="'.$_POST['nom_champ'].'"/>';
    Je te conseille la lecture de ce tutoriel :
    http://pbnaigeon.developpez.com/tuto...phe-guillemet/

  3. #3
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    rajoute un petit @ devant les $_POST[], ça t'evitera d'avoir les warnings

  4. #4
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    sinon tu mets le formulaire et son traitement dans la même page

    if (isset(bouton_submit)) {
    vérifier champs
    si champ pas ok
    réafficher formulaire avec valeurs de $_POST
    }
    else {
    afficher formulaire vide
    }
    Dia [ Page DVP ] [ Site pro ]

  5. #5
    Membre confirmé Avatar de hugobob
    Profil pro
    FOI
    Inscrit en
    Septembre 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Gabon

    Informations professionnelles :
    Activité : FOI

    Informations forums :
    Inscription : Septembre 2005
    Messages : 169
    Par défaut
    Tu peux d'abord verifié ton formulaire du coté client avant de l'envoyer au serveur et de le reverifié du coté serveur !

    Puis tu applique tout ce qui a été dit plus haut.

    Merci de dire si c'est résolu !

  6. #6
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut pour y voir plus clair
    Tu peux aussi en début de fichier initialiser les variables avec les mêmes noms que celles transmises en POST:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $var1 = $HTTP_POST_VARS[var1];
    ...
    $var_n = $HTTP_POST_VARS[var_n];
    Cela t'évite d'avoir des posts partout.

    Si tu veux les transmettres dans le formulaire suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <intput type='hidden' name='var_i' value='<?php echo $var_i; ?>' />
    Et voilà.

    Alors...
    ...elle est pas belle la vie?

  7. #7
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par zyongh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <intput type='hidden' name='var_i' value='<?php echo $var_i; ?>' />
    Oh les fautes de syntaxe !!!
    Ou comment induire un débutant en erreur...
    Toi aussi, tu devrais lire ce tutoriel :
    http://pbnaigeon.developpez.com/tuto...phe-guillemet/
    Citation Envoyé par zyongh
    Et voilà.

    Alors...
    ...elle est pas belle la vie?
    nc

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par Sub0
    Oh les fautes de syntaxe !!!
    Ou comment induire un débutant en erreur...
    Toi aussi, tu devrais lire ce tutoriel :
    http://pbnaigeon.developpez.com/tuto...phe-guillemet/
    nc
    C'est un peu méchant, mais tellement juste

  9. #9
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par vg33
    C'est un peu méchant, mais tellement juste
    Quoique son code n'est pas si faux que ça !!
    Désolé zyongh. Je vais expliquer pourquoi :

    • Pour résumé un peu le tuto, si vous utilisez des apostrophes pour encadrer une chaîne, vous pouvez utiliser des guillemets à l'intérieure de cette chaîne, exemple :
    echo '<input type="hidden".../>';
    mais vous ne pouvez pas utiliser des apostrophes sinon, PHP pensera que c'est la fin de la chaîne... Ou alors, si vous utilisez des apostrophes, il faut les échapper, exemple :
    echo '<input type=\'hidden\'.../>';


    • C'est la même chose pour les guillemets, excepté qu'une variable PHP dans une chaîne encadrée par des guillemets sera interprétée, exemple :
    echo "<input type='hidden' value='$value' />";
    c'est pareil que :
    echo '<input type="hidden" value="'.$value.'" />';
    et que :
    echo "<input type=\"hidden\" value=\"".$value."\" />";


    • Les exemples ci-dessus, c'est pour utiliser du code HTML dans du PHP.
    Maintenant, si vous utilisez du PHP dans du code HTML, ça ressemblera plus à ceci effectivement :
    <input type="hidden" value="<?php echo $value; ?>" />
    ou :
    <input type='hidden' value='<?php echo $value; ?>' />
    (c'est l'exemple de zyongh)


    • Bref, comme vous pouvez le constater, les combinaisons sont nombreuses. Pour ma part, j'intègre du code HTML dans du PHP, pas l'inverse. Je vous conseille d'utiliser cette syntaxe dans vos codes sources PHP :
    echo '<input type="hidden" value="'.$value.'" />';


    Je vous conseille aussi d'utiliser un éditeur PHP avec coloration syntaxique. Perso, j'utilise EditPlus2. Il donne une couleur différente pour les chaînes encadrées avec des guillemets et les chaînes encadrées par des apostrophes. La coloration syntaxique permet d'éviter les erreurs du genre et fait gagner un temps précieux au développement, à+

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par Sub0
    Quoique son code n'est pas si faux que ça !!
    Je maintiens l'erreur. En XHTML, les valeurs des attributs doivent être indiquées entre doubles quotes.
    D'après le tutoriel d'Hugo ETIEVANT :
    Les valeurs des attributs sont entre doubles quotes.
    On écrit : <p align="center"> et plus <p align=center>.
    Source : http://cyberzoide.developpez.com/htm...l.php3#syntaxe


    Ceci étant dit, je souscris totalement à ce que tu expliques ensuite

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Par défaut
    Tout d'abord, merci pour toutes ces réponses!!
    Je suis désolé, avec les cours et tout, j'ai pas eu le temps de venir plus tôt! lol
    Et en fait, j'avais oublié que j'avais posé cette question! lol
    Bref, j'ai quelque peu modifier mon formulaire, alors je voulais savoir ce que cela donnerait dans le cas où j'utilise un tableau pour stoquer les valeurs de mon formulaire?
    Voici un exemple d'un champ de mon formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name='t[nom]' type='text' size='25' />
    Mon tableau t me permet de stoquer toutes les données saisies, j'ai essayé différentes combinaison pour value, mais en fait, ça affiche ce que j'écris et pas le contenu de ma variable t[nom].

  12. #12
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Si j'ai bien compris, tu veux dans ton code html inclure une variable ?
    C'est strictement impossible. Le html est uniquement un langage de présentation, pas un script. Il ne propose donc aucune variable.
    Dans ton cas, tu dois passer par php.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo '<input name="t[nom]" type="text" size="25" value="'.$t['nom'].'"/>';
    ?>

  13. #13
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2004
    Messages : 61
    Par défaut
    Ce qui signifie entre autres que ton formulaire doit être dans une page PHP.
    Un autre développeur a posé une question similaire sur ce fil

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Par défaut
    En fait, la dernière méthode donnée vg33, ne marche pas, car mon formulaire est traité dans une autre page php.
    Je pense donc utiliser les headers pour envoyer des variables POST, mais je sais pas trop comment.
    Quelqu'un aurait une idée ?
    J'aurais dû préciser tout de suite pour le traitement dans l'autre page, désolé! lol
    J'ai toujours fait comme ça, donc ça me paraissait évident, mais bon... ^ ^

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/03/2012, 13h47
  2. enregistrer les données d'un FORMULAIRE sur une TABLE
    Par godzinho dans le forum Access
    Réponses: 15
    Dernier message: 11/03/2006, 18h03
  3. Recuperer les données d'un formulaire en PHP
    Par mekdar dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2005, 15h41
  4. Réponses: 5
    Dernier message: 06/11/2005, 11h26
  5. [Struts] Interêt de typer les données d'un formulaire ?
    Par Gildas Huart dans le forum Struts 1
    Réponses: 9
    Dernier message: 21/04/2005, 16h39

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