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 :

Formulaire de contact


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut Formulaire de contact
    Bonjour,

    j'ai ma page de contact suivante :

    Code HTML : 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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     <form name="formulaire" action="http://www.operationemploi.fr/traitement.php" method="post">
    		                <table>
                              <tr> 
                                <td class="txtcontact" width="150">Votre nom :</td>
                                <td><input name='nom' type='text' size='50' class="contactboxes"></td>
                              </tr>
                              <tr> 
                                <td class="txtcontact" width="150">Votre pr&eacute;nom 
                                  :</td>
                                <td><input name='prenom' type='text' size='50' class="contactboxes"></td>
                              </tr>
                              <tr> 
                                <td class="txtcontact" width="150">Votre email</td>
                                <td><input name='email' type='text' size='50' class="contactboxes"></td>
                              </tr>
                              <tr> 
                                <td class="txtcontact">Vous &ecirc;tes :</td>
                                <td><input type="radio" name="type" value="0">
                                  <span class="txtcontact">candidats</span> 
                                  <input type="radio" name="type" value="1">
                                  <span class="txtcontact">recruteur </span></td>
                              </tr>
                              <tr> 
                                <td width="200">&nbsp;</td>
                                <td></td>
                              </tr>
                              <tr> 
                                <td class="txtcontact" valign="top" width="200">&nbsp;</td>
                                <td><select name="select" class="contactboxes">
                                    <option selected>vous d&eacute;sirez prendre contact 
                                    avec :</option>
                                    <option>le service commercial (publicité sur le 
                                    site)</option>
                                    <option> la direction g&eacute;n&eacute;rale (informations 
                                    diverses)</option>
                                    <option>le service technique (erreur lors d'une 
                                    manipulation)</option>
                                    <option>le webmaster (page qui ne s'affiche pas, 
                                    fautes, design...)</option>
                                  </select></td>
                              </tr>
                              <tr> 
                                <td width="200">&nbsp;</td>
                                <td></td>
                              </tr>
                              <tr> 
                                <td class="txtcontact" valign="top" width="200">Votre 
                                  message</td>
                                <td><textarea name='texte' cols='50' rows='20' class="contactboxes"></textarea></td>
                              </tr>
                              <tr> 
                                <td width="200">&nbsp;</td>
                                <td></td>
                              </tr>
                              <tr> 
                                <td width="200">&nbsp;</td>
                                <td><input name='annuler' type='reset' value='Annuler' class="contactboxes"> 
                                  &nbsp; <input name='soumettre' type='submit' value='Envoyer' class="contactboxes"></td>


    puis le fichier traitement suivant :

    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
    <?php
    include "connexion.php";
    require "/***/phpmailer/class.phpmailer.php";
    $mail = new PHPmailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Username = '*****';
    $mail->Password = '******';
    $mail->Host='localhost';
    $mail->From='x@y.com';
    $mail->AddAddress($email);
    $mail->AddReplyTo('x@y.com');
    $mail->Subject=($select);
    $mail->Body=($texte);
     
    if(!$mail->Send()){ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
     
    	else{	  
    	  //echo 'Mail envoyé avec succès';
    	}
     
    	$mail->SmtpClose();
    	unset($mail);
     
     
    ?>
    je voudrais récupérer dans mon formulaire précédent les valeurs suivantes :
    - email de l'expéditeur entré dans le champ "email",
    - sujet entré dans le champs "select"
    - texte entré dans le champs "area"

    pour l'instant je reçois bien un mail si je remplis moi-même les champs suivants :
    $mail->AddAddress($email);
    $mail->Subject=($select);
    $mail->Body=($texte);

    (quoique j'ai une petite erreur ?> et je ne sais pas d'où ça vient mais le mail est quand même envoyé)

    mais bon étant donné que c'est pour un formulaire de contact je ne vois pas l'intérêt pour moi de les remplir à l'avance.

    merci de m'indiquer comment faire pour récupérer les variables...

    merci par avance pour votre aide.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    Je ne suis pas sûre d'avoir bien compris ton problème : tu as un formulaire avec des champs e-mail ...

    POur récupérer les variables passées par méthode post dans un formulaire, tu utilises $_POST['nom_du_champ']
    Pour ce champ du formulaire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name='email' type='text' size='50' class="contactboxes">
    Récupères :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $email=$_POST['email'];

    Ai-je répondu à ta question ?

    EDIT : Prem's, prem's !
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Tu utilises un formulaire avec une méthode POST, ca veut dire que toutes les données seront disponibles dans la variable globale $_POST qui est un tableau associatif dont les clés sont les noms des champs de tes formulaires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $emailRecupere = $_POST['email'];
    $prenomRecupere = $_POST['prenom'];
    //Etc.
    EDIT : Grillé! ca faisait longtemps

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    si je les mets comme ceci j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mail->AddAddress $_POST['email'];
    $mail->Subject=$_POST['select'];
    $mail->Body=$_POST['texte'];
    et si je mets un "=" entre AddAddress et $_POST j'ai l'erreur suivante :

    Language string failed to load: provide_address ?>

  5. #5
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    ca n'est ni un = ni un espace qu'il faut, AddAddress() est une fonction. Je pense que tu devrais prendre le temps de lire quelques-uns des tutoriels PHP disponibles sur developpez.com pour comprendre le langage d'abord.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->AddAddress($_POST['email']);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    je te remercie mais je préfère mettre les mains dans le camboui plutot que de rechercher ma réponse dans un bouquin (en l'occurence les faq)... je comprends mieux les choses comme ça, en réparant les erreurs que je fais...

    merci pour ton aide... surtout que les $_POST, j'en ai fait assez souvent dans mes requêtes pour le site intranet, mais je suis tellement encrée dans mon problème que je n'en vois plus les erreurs les plus simples...

    je vais pouvoir maintenant m'amuser à faire un menu déroulant pour les adresses emails... c'est cool !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/01/2006, 07h23
  2. [Formulaire] de contact
    Par inferno66667 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 19h32
  3. Prob avec formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2005, 18h53
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h06
  5. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 16h47

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