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 :

Reucperation de valeurs d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 114
    Points
    114
    Par défaut Reucperation de valeurs d'un formulaire
    Bonjour,

    Je développe en ce moment un site en php dans lequel je suis en train de créer un formulaire d'envoi de mails. Tout se passe bien sauf qu'à un moment, lorsque je récupère les contenus du champs du formulaire, les variables sont toujours vides quoi que j'ai entré dans le formulaire.

    Voici mon code :

    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
    switch($formulaire){
    	case  "" :
    ?>
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <center><div style="width:80%; border:solid 1px white;">
    Votre Mail :<div align=center><input type="text" name="nom"></div><br>
    Votre nom : <div align=center><input type="text" name="mail"></div><br>
    Sujet : <div align=center><input type="text" name="sujet"></div><br>
    Votre message :<br>
    <input type=hidden value=1 name="formulaire">
    <textarea name="message" cols="50" rows="5"></textarea>
    <input type="submit" name="envoyer" value="Envoyer !">
    </div></center>
    </form>
    <?php
    $formulaire=1;
    break;
    case 1 :
    	if (isset ($_POST['envoyer'])){
    		$mail=$_POST['mail'];
    		echo "email=$mail";
    		$nom=$_POST["nom"];
    		$sujet=$_POST["sujet"];
    		$message["message"];
    		if(empty($mail)){
    			echo "Entrez votre email !";
    		}elseif(verifMail($mail)==false){
    			echo "Email invalide !";
    		}elseif(empty($nom)){
    			echo "Entrez votre nom !";
    		}elseif(empty($sujet)){
    			echo "Entrez un sujet !";
    		}elseif(empty($message)){
    			echo "Entrez un message !";
    		}
    	}
    	$formulaire=0;
    	break;
    }
    Lors de l'affichage de l'email par la ligne echo="email=$mail"; rien ne s'affiche pour le mail... la variable est vide.

    J'espere que vous pourrez m'aider ! Merci d'avance.

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    tu utilise une variable $formulaire pour un switch, mais cette
    variable n'est pas initialisée dans ton script.

  3. #3
    Membre actif Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Points : 294
    Points
    294
    Par défaut
    Salut,

    Je vois pas bien à quoi sert ton instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $_SERVER['PHP_SELF']; ?>
    présent dans la balise form??C'est pour boucler sur la page?
    Sinon, une manière aussi de faire est de séparer ton formulaire de la vérification + envoi de mails, de faire deux fichier php, nan?Enfin c'est mon avis, peut être parce que je suis un novice

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 114
    Points
    114
    Par défaut
    Bonsoir,

    L'objectif de la variable $formulaire est de permettre l'affichage du formulaire lors du premier appel du script. C'est normal qu'elle ne soit pas initialisée puisque j'affiche le script dans le cas ou, justement elle contient une valeur nulle. Par contre, lorsque l'utilisateur clique sur le bouton submit, $formulaire prend la valeur 1 et donc, dans ce cas on execute la seconde partie du switch.

    Le probleme ne vient pas de là. En fait, je rentre bien dans le cas 1 du switch donc la variable $formulaire fonctionne correctement, c'est apres qu'arrive mon prbleme. Ce sont les variables $mail, $nom, $message et $sujet qui sont vide et dans lesquelles je n'arrives pas à récupérer les valeurs envoyées par le formulaire...

    Fab :

    Mon objectif est justement de ne pas utiliser plusieurs fichiers... et le $SERVEUR... est effectivement utilisé pour que, à l'envoi du formulaire, les données saisient soient renvoyées sur cette meme page. Le formulaire interne m'évite d'avoir plusieurs pages pour un truc qui peut se faire assez simplement en une seule... Reste à trouver mon bug ^^

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    ça parait pourtant plutôt correct comme code, par contre y'a du html pas valide ca vient peut être de la. Je parle entre autre du div dans le formulaire à placer autour.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 114
    Points
    114
    Par défaut
    Je viens de changer ca et ca change rien à mon probleme : les variables sont toujours aussi vides :p

  7. #7
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    ok, je n'avais pas pris garde à cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type=hidden value=1 name="formulaire">
    J'avais focalisé sur celle-ci, qui ne sert à rien

    Pourquoi utilises-tu $_POST[nom de var] pour tes données
    et par $_POST['formulaire'] pour ta variable $formulaire ?

    Tu prends le risque que le réglage register global soit pas activé,
    à vérifier.

    Sinon, pourrais-tu poster le code HTML généré par ta page stp.

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 114
    Points
    114
    Par défaut
    Bon... je viens de trouver mon erreur. C'est tout con, j'ai simplement inversé le nom de deux champs et ca faisait tout foirer... Ca a l'air de fonctionner maintenant ! Je teste et je verouille en fonction...

    Désolé pour le dérangement...

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

Discussions similaires

  1. envoie de valeur d'un formulaire vers un autre
    Par kleenex dans le forum Access
    Réponses: 7
    Dernier message: 03/10/2005, 16h55
  2. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  3. Réponses: 2
    Dernier message: 30/11/2004, 02h36
  4. Réponses: 4
    Dernier message: 01/09/2004, 16h56
  5. [jsp] récuperation de valeur d'un formulaire
    Par peppena dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 30/03/2004, 21h00

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