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 envoyé par email


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Formulaire de contact envoyé par email
    Bonjour,

    Je "développe" un site avec dreamweaver cs3 pour un ami.
    J'essaye d'intégrer un formulaire "enquiry form" très simple. Et je rencontre des problèmes au niveau de l'envoi. Dans un premier temps, le destinataire recevait un fichier en pièce jointe .ATT impossible à ouvrir. J'ai ensuite fait des recherches et trouvé que je devais integrer du PHP.

    J'ai essayé, mais en vain.

    J'ai deja posté un sujet dans la partie dreamweaver du forum (http://www.developpez.net/forums/d60...p/#post3551772)et botzouk a commencé à m'aider. Il m'a aussi conseillé de reposter mon sujet dans la partie PHP. Nous y voilà.

    J'ai modifié mon html en fonction de ce que m'a dit botzouk et voila où j'en suis :

    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
    59
    60
    61
    62
    63
    64
    65
    66
    <form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="enquiryform" id="enquiryform">
                  <table width="360" height="169" border="0" align="center" cellpadding="0" cellspacing="11">
                    <tr>
                      <td height="36" colspan="2"><div align="center"><span class="Style34">Enquiry Form :</span></div></td>
                    </tr>
                    <tr>
                      <td width="117"><div align="right"><span class="Style38">Company Name*</span></div></td>
                      <td width="210"><div align="left">
                          <input name="companyname" type="text" id="companyname" size="27" />
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="right"><span class="Style38">Contact Names*</span></div></td>
                      <td><div align="left">
                          <input name="contactname" type="text" id="contactname" size="27" />
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="right"><span class="Style38">Title</span></div></td>
                      <td><div align="left">
                          <input name="title" type="text" id="title" size="27" />
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="right"><span class="Style38">Email*</span></div></td>
                      <td><div align="left">
                          <input name="email" type="text" id="email" size="27" />
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="right"><span class="Style38">Address</span></div></td>
                      <td><div align="left">
                          <input name="address" type="text" id="address" size="27" />
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="right"><span class="Style38">Contact Number*</span></div></td>
                      <td><div align="left">
                          <input name="contactnumber" type="text" id="contactnumber" size="27" />
                      </div></td>
                    </tr>
                    <tr>
                      <td><div align="right"><span class="Style38">Enquiry</span></div></td>
                      <td><div align="left">
                          <textarea name="enquiry" wrap="physical" id="enquiry"></textarea>
                      </div></td>
                    </tr>
                    <tr>
                      <td>&nbsp;</td>
                      <td><table width="124" border="0" align="center" cellpadding="0" cellspacing="0">
                          <tr>
                            <td width="85"><div align="center" class="Style34">
                                <label>
                                <input type="reset" value="clear" />
                                </label>
                            </div></td>
                            <td width="86"><div align="center" class="Style34">
                                <label>
                                <input type="submit" value="submit" />
                                </label>
                            </div></td>
                          </tr>
                      </table></td>
                    </tr>
                  </table>
                  </form>

    Et jai aussi modifié mon php :

    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
    <?php
    $companyname=$_POST['companyname'];
    $contactname=$_POST['contactname'];  
    $title=$_POST['title'];
    $email=$_POST['email'];
    $address=$_POST['address'];
    $contactnumber=$_POST['contactnumber']; 
    $enquiry=$_POST['enquiry']; 
     
    $headers = "MIME-Version: 1.0\r\n"; 
     
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
     
    $headers .= "From: $contactname <$email>\r\nReply-to : $contactname <$email>\nX-Mailer:PHP"; 
     
    $subject="$title"; 
    $destinataire="jr@010380.com"; 
    $body="$enquiry"; 
    if (mail($destinataire,$subject,$body,$headers)) { 
    echo "Email has been sent"; 
    } else { 
    echo "Error"; 
    } 
    ?>

    Je tiens à préciser que c'est la première fois que j'utilise du php et je ne savais meme pas qu'il me fallait installer un module pour tester en local. J'ai meme des doutes sur ce que signifie "tester en local"...
    J'aimerais bien finir ce site, sans avoir à apprendre le php de a à z. En gros il me faut une rustine...

    Je sais aussi que mon code est minable, made in dreamweaver, et que les puristes vont me jetter des cailloux. Je suis désolé pour ça.

    Merci à ceux qui pourront m'aider.

    DK

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Tester en local signifie tester sur ton ordinateur (donc pas sur un serveur web quelque part sur internet).

    Si tu es sous Windows, tu as besoin d'un logiciel comme EasyPHP ou Wamp, très simples d'installation.
    Sous Linux, installe Apache2 et php.
    Sous Mac, je ne sais pas

    Avec ça, tu pourras accéder à ton site par l'adresse http://localhost/

    Sinon, tes fichiers devraient fonctionner... donc je ne vois pas où est ton problème (en ce qui concerne PHP du moins). Où bloques-tu ?
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

  3. #3
    Membre averti

    Inscrit en
    Mai 2008
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 348
    Points : 397
    Points
    397
    Par défaut
    Je confirme (comme dans la partie dreamweaver).
    Installe WAMP Server -> http://www.wampserver.com/

    Une fois que c'est installé et que ton serveur web est en fonctionnement, tu copies tes fichiers dans le dossier www que tu devrais trouver dans c:\program files\wamp (ou qqchose comme ça )

    Et tu ouvres l'url http://localhost/nomdetapage.html
    Où nomdetapage.html correspond à la page qui contient le formulaire.

    Pour info Wamp existe aussi sous le nom de Mamp pour Mac -> http://www.mamp.info/en/index.php

    et de Lamp pour Linux -> http://doc.ubuntu-fr.org/lamp

    Bon courage

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    merci pour votre aide. Merci d'avoir éditer le sujet aussi.
    J'ai une bonne nouvelle : ça marche.
    J'ai une mauvaise nouvelle : je reçois le mail avec le texte de la partie "enquiry" mais je ne reçois pas tous les contacts...

    Est-il possible de faire en sorte que l'email arrive avec les infos dans le mail ou je dois m'y prendre autrement pour y avoir acces? J'ai essayé d'ajouter le contact à mon carnet d'adresse, voir si les infos étaient ensuite prises en compte, mais non.

    En tout cas merci bcp, c'est deja 80% de mon probleme qui est reglé. Vous êtes au top!


    thx

    DK

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Je crois deviner que je dois rajouter des lignes ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $subject="$title"; 
    $destinataire="security@guardcorp.com"; 
    $body="$enquiry";
    mais je ne voudrais pas jouer à l'apprenti sorcier...

    Cheers,

    DK

  6. #6
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Salut !

    Qu'entends-tu par "tous les contacts" ?

    D'après le formulaire que tu as fait, il s'agit d'un seul contact à la fois... (ou alors j'suis pas encore bien réveillé, c'est possible ^^)

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Oui pardon, j'ai mal formulé ma phrase. Je voulais dire toutes les informations au sujet du (et unique) contact. A savoir : company name, contact name, phone number, address etc.

    Je reçois le mail qu'avec le message.

    Thx!

  8. #8
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Pour avoir toutes les informations dans ton message il faut les rajouter à la variable $body :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $body = 'companyname : '.$companyname."\n";
    $body .= 'contactname : '.$contactname."\n";
    // ainsi de suite jusqu'à :
    $body .= 'contenu : '.$enquiry."\n";
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  9. #9
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Hi,

    ça marche
    Merci bcp pour ça! Vous êtes au top.

    DK

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

Discussions similaires

  1. [PHP 5.3] Récupérer les données d'un formulaire envoyé par email
    Par renaud26 dans le forum Langage
    Réponses: 19
    Dernier message: 28/04/2014, 12h05
  2. Réponses: 6
    Dernier message: 25/06/2009, 22h22
  3. Réponses: 1
    Dernier message: 25/07/2006, 22h11
  4. attaché un document et l'envoyer par email
    Par nou366 dans le forum Débuter
    Réponses: 2
    Dernier message: 01/05/2006, 18h15
  5. [FPDF] Créer un PDF et l'envoyer par email avec PHPMailer
    Par nico33307 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/12/2005, 22h49

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