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 :

[PHP-JS] Récupération de variables


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 11
    Points
    11
    Par défaut [PHP-JS] Récupération de variables
    Hello à tous

    Voila, je galère en ce moment sur un formulaire tout bête où je récupère les infos pour les envoyer ensuite par mail. Après validation, si il manque des infos (ou si celles ci semblent eronnées), l'internaute à moyen de revenir sur le formulaire pour corriger ses erreurs.
    Or je n'arrive pas à récupérer les valeurs entrées en cas de retour sur les champs select et sur les boutons radios.
    J'ai peut etre mal cherché mais je n'ai pas trouvé exactement ce que je voulais dans les tutos...

    En gros voici les codes

    page du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <html>
    <head>
    <title>Formulaire</title>
    </head>
    <body>
    <?php
    		if(isset($_POST["ch_select"])){
    			$ch_select= $_POST["ch_select"];
    			}else{
    				$ch_select="";
    				}
    		if(isset($_POST["bt_radio"])){
    			$bt_radio= $_POST["bt_radio"];
    			}else{
    				$bt_radio="";
    				}
     
    ?>
     
    <form name="formulaire" method="post" action="ftraitement.php">
    Champ SELECT
     <select name="ch_select" class="saisie" size="1" value="<?php echo $ch_select?>">
      <option selected value="option1">Option 1</option>
      <option value="option2">Option 2</option>
      <option value="option3">Option 3</option>
     </select>
     
    Boutons radio
    <label><input type="radio" name="bt_radio" value="bouton1" />Bouton 1</label>
    <label><input type="radio" name="bt_radio" value="btouon2" />Bouton 2</label>
    <label><input type="radio" name="bt_radio" value="bouton3" />Bouton 3</label>
    <br />
    <input type="submit" value="Envoi" class="bouton" />
    </body>
    </html>
    La page de traitement du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <html>
    <head>
    <title>Traitement Formulaire</title>
    </head>
    <body>
     
    <?php
     
    //on initialise la variable d'erreur
    	$erreur = 0;
     
    // récupération des données du formulaire
    	$ch_select= $_POST["ch_select"];
    	$bt_radio= $_POST["bt_radio"];
     
     
    echo $ch_select;
     
    echo $bt_radio;
    //exemple de traitement d'erreur au cas où aucun bouton radio n'est cliqué
      if($bt_radio!= 0) {
        echo "<p>Vous n'avez séléctionné aucun bouton!</p>";
        $erreur++;
      }
    ?>
     
    <form action="fcontact.php" method="post" >
     <input type="hidden" name="adhesion" value="<?php echo $adhesion ?>" />
     <input type="hidden" name="sexe" value="<?php echo $sexe ?>" />
     
    <?php
    //exemple de traitement d'erreur au cas où aucun bouton radio n'est cliqué
    		if($sexe != 0) {
    		echo "<p class=\"erreur\">Vous n'avez pas indiqué votre sexe!</p>";
    		$erreur++;
    	}?>
     
    //Pas d'erreur? on peut envoyer le mail!
    if($erreur != 0){
    	echo "<input type=\"submit\" value=\"Retour\" class=\"bouton\" />";
    }else{	
     // on envoit les données par mail 
           /.../
    ?>
    </form>
    </body>
    </html>


    Je ne sais pas si cela vous semble clair. Si la réponse se trouve dans les tutos, je m'en excuse d'avance...

    Merci de votre aide

  2. #2
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Pourquoi tu ne passes pas par du javascript pour ne valider le formulaire qu'une fois toutes les infos entrée???
    Si t'aime pas le javascript tu pourrais plus simplement à la validation si les infos ne sont pas bonnes retourner sur ton formulaire et mettre les champs manquant en rouge ou mettre un texte à coté de des rubriques à selectionner....
    Je dis ca parce que en tant qu' utilisateur, c'est ultra galère qu'un formulaire se submit pour faire apparaitre une liste d'infos qu'on a oublié pour être obligé de revenir et recompléter le formulaire. Les formulaires c'est très chiant à remplir s'ils sont plus dynamique c'est mieux.

    Petit truc à la fin pense à mettre un system anti-spam sinon tu risques de recevoir des pubs pour le viagra 15 fois par jours.

  3. #3
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    dans la page traitement comment renvoie tu les variables $_POST sur la page du formulaire ? Je ne voie rien de cela.

    Les variables POST passent du formulaire à la page defini par le action du form mais ensuite elles sont perdues, ils faut stocker les informations en $_SESSION ou alors les renvoyer à la page du formulaire via des champs hidden par exemple.

    Le plus simple est de definir le action pour qu'il reload la page du formulaire ainsi les variables $_POST ne sont jamais perdu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <form action="#" method="post">
    <input type="text" name="blabla" value="<? if(isset($_POST['blabla'])) echo $_POST['blabla']; ?>" />
    </form>

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 58
    Points : 47
    Points
    47
    Par défaut
    Je confirme pour le javascript.
    Je pense que ca serait le plus simple.
    D'autant plus que ca eviterai que ta page soit rafraichi et donc que les données saisies s'effacent.

    Voila un site qui peut taider avec ses qlq fonctions.
    http://www.toulouse-renaissance.net/...formulaire.htm
    Tu as aussi dautres solutions sur le FAQ ici.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par grabriel
    Salut,

    Pourquoi tu ne passes pas par du javascript pour ne valider le formulaire qu'une fois toutes les infos entrée???
    Si t'aime pas le javascript tu pourrais plus simplement à la validation si les infos ne sont pas bonnes retourner sur ton formulaire et mettre les champs manquant en rouge ou mettre un texte à coté de des rubriques à selectionner....
    Je dis ca parce que en tant qu' utilisateur, c'est ultra galère qu'un formulaire se submit pour faire apparaitre une liste d'infos qu'on a oublié pour être obligé de revenir et recompléter le formulaire. Les formulaires c'est très chiant à remplir s'ils sont plus dynamique c'est mieux.
    Tu veux dire que la validation des données doit se faire directement dans le formulaire et pas dans la page traitement... Ok, pas bête.

    Petit truc à la fin pense à mettre un system anti-spam sinon tu risques de recevoir des pubs pour le viagra 15 fois par jours.
    Si tu connais un bon script, je suis preneux. J'en avais trouvé un qui n'a jamais fonctionnée (je ne sais pas pourquoi).

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par pimpmyride
    dans la page traitement comment renvoie tu les variables $_POST sur la page du formulaire ? Je ne voie rien de cela.

    Les variables POST passent du formulaire à la page defini par le action du form mais ensuite elles sont perdues, ils faut stocker les informations en $_SESSION ou alors les renvoyer à la page du formulaire via des champs hidden par exemple.
    et bien, j'ai justement un formulaire avec des champs cachés. Je me sentais pas trop de m'attaquer aux sessions...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par roxxxy
    Je confirme pour le javascript.
    Je pense que ca serait le plus simple.
    D'autant plus que ca eviterai que ta page soit rafraichi et donc que les données saisies s'effacent.

    Voila un site qui peut taider avec ses qlq fonctions.
    http://www.toulouse-renaissance.net/...formulaire.htm
    Tu as aussi dautres solutions sur le FAQ ici.
    Cool! Merci

  8. #8
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Citation Envoyé par dionysos73
    Si tu connais un bon script, je suis preneux. J'en avais trouvé un qui n'a jamais fonctionnée (je ne sais pas pourquoi).
    Y'a une solution qui est proposée ici :
    http://developpez.net/forums/showthread.php?t=291024

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par grabriel
    Y'a une solution qui est proposée ici :
    http://developpez.net/forums/showthread.php?t=291024

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Récupération de variable php en javascript
    Par akara dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/07/2007, 18h08
  2. Réponses: 4
    Dernier message: 28/02/2007, 09h41
  3. [PHP-JS] Récupération variable php et Javascript
    Par GarGamel55 dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2006, 11h49
  4. Réponses: 7
    Dernier message: 23/04/2006, 01h38
  5. [php/Js] Récupération de variable
    Par Halukard dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/03/2006, 23h41

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