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

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Formulaire de contact
    Bonjour,
    Je suis en train de commencer une auto formation de webdesign (en attendant une vraie un jour !). J'ai des bonnes notions de HTML, pas du tout de PHP, même si j'en comprends le principe. Bref, j'ai un formulaire de contact, que j'ai fait sous Dreamweaver. J'ai un scrip en PHP, récupéré sur le net. Mais quand je clique sur "envoyer", rien ne se passe.
    Mon hébergeur est OVH.

    D'avance, merci beaucoup ! J'espère vous avoir donné assez d'information. Ah si, le site : http://test.loeildeluciole.com

    Voici mes deux pages de code :

    contact.html (avec un peu de java pour ma vérification des données entrées dans le formulaire. Aussi trouvé sur le net)

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>L'oeil de LuciOle - Contact</title>
    <style type="text/css">
    <!--
    @import url("style.css");
    #contactparam {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	color: #989898;
    	text-align: right;
    	height: auto;
    	width: 295px;
    	float: left;
    }
    #contactchamps {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	color: #000000;
    	text-align: left;
    	height: auto;
    	width: 300px;
    	float: right;
    }
    #contactform {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	height: auto;
    	width: 600px;
    	color: #989898;
    }
    -->
    </style>
    <script type="text/javascript" language="Javascript" >
    <!--
    function verification()
    {
    if(document.formulaire.nom.value == "") {
      alert("Veuillez entrer votre nom s'il vous plait.");
      document.formulaire.nom.focus();
      return false;
     }
      else
    return true;
     
    else
    if(document.formulaire.email.value == "") {
      alert("Veuillez entrer votre adresse electronique s'il vous plait");
      document.formulaire.email.focus();
      return false;
     }
     else
    if(document.formulaire.email.value.indexOf('@') == -1) {
      alert("L'adresse electronique fournie n'est pas correct, verifiez-la s'il vous plait");
      document.formulaire.email.focus();
      return false;
     }
     
     else
    if(document.formulaire.texte.value == "") {
      alert("Veuillez entrer le texte de votre message s'il vous plait");
      document.formulaire.texte.focus();
      return false;
     }
    }
    //-->
    </script>
    </head>
     
    <body>
     
    <div align="center"><p>Cette visite vous a plu ? N'hésitez pas à laisser une trace de votre passage par ici. Si vous souhaitez connaître les formats et tarifs de mes photos, remplissez ce formulaire. Merci et à très bientôt.</p></div>
        <br />
      <br />
     <div id="contactform">
      <form name='formulaire' action='contact.php' method='post' onSubmit="return verification()">
    	<div id="contactparam"><label>Votre nom :</label></div>
    	<div id="contactchamps"><input name="nom" type="text" size="51" /></div>
    	<div id="contactparam"><label>Votre email :</label></div>
    	<div id="contactchamps"><input name="email" type="text" size="51" /></div>
        <div id="contactparam"><label>Votre site (facultatif) :</label></div>
        <div id="contactchamps"><input name="site" type="text" size="51" /></div>
    <br />
     	<div id="contactparam"><label>Votre message :</label></div>
        <div id="contactchamps"><textarea name="message" cols="44" rows="5"></textarea></div>
    <br />
    </form>
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
       <div id="contactchamps"><input name="Envoyer" type="submit" /></div>
     </div>
    contact.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
    <?php
    $adresse="monadresse@monfai.com";
    $from="De: $nom<$email>\r\n";
    $from.="X-priority:3\n";
    $texte="<html>";
    $texte.="$texte";
    $texte.="</html>";
    $from.="MIME-Version: 1.0\r\n";
    $from.="Content-Type: text/html";  
    if (mail($adresse,$texte,$from))
    echo("<center><br><br><br><h2>Formulaire envoy&eacute; ! Je vous r&eacute;pondrai rapidement. Merci !</h2></center>");
    else
    echo("<center><br><br><br><h2>Probl&egrave;me &agrave; l'envoi du mail...d&eacute;sol&eacute; nous ne pouvons actuellement traiter votre demande<br>Contactez nous plus <a href="mailto:$adresse">classiquement</a></h2>");
    ?>

  2. #2
    Membre du Club Avatar de Cornholio
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Le bouton Submit doit être à l'intérieur des balises <form></form>

    Sinon effectivement, rien ne se passe.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Merci !! Erreur de débutante

    Bon, du coup, le script PHP se lance, mais il y a une erreur que je vais tenter de réparer !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Super ! ça fonctionne !

    Bon, par contre, dans le mail que je reçois sur ma messagerie, il n'y a pas le message...

    Des idées ?

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    $texte="<html>";
    $texte.="$texte";
    tu n'as pas l'impression de te mordre la queue?

    à la rigueur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $texte  = "<html>";
    $texte .= $_POST["message"];
    ..........

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    J'avais un peu copié collé sans tout comprendre

    J'ai allégé un peu et je me retrouve avec ce code là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $adresse="monmail@monfai.com";
    $from="De: $nom <$email>\r\n";
    $texte="<html>";
    $texte.="$texte";
    if (mail($adresse,$message,$from))
    echo("<center><br><br><br><h2>Formulaire envoy&eacute; ! Je vous r&eacute;pondrai rapidement. Merci !</h2></center>");
    else
    echo("<center><br><br><br><h2>Probl&egrave;me &agrave; l'envoi du mail. D&eacute;sol&eacute; nous ne pouvons actuellement traiter votre demande<br>Ressayez ultérieurement, merci.</h2>");
    ?>
    Sauf que dans le mail que je reçois, le message que l'utilisateur tape dans <textarea> se place dans l'objet du mail. Dans le corps du mail, je n'ai qu'une ligne "De: nom <adresseutilisateur@faiutilisateur.com>"

    Et autre question tant que j'y suis, comment je fais pour que la page qui dit "formulaire envoyé" soit avec le même fond et ma bannière ? Je rajoute du html dans le PHP ? Pardon si c'est une question bête, mais je débute vraiment.

    Merci pour vos réponses.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Un petit exemple qui pourrait bien marcher
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>L'oeil de LuciOle - Contact</title>
    <style type="text/css">
    <!--
    @import url("style.css");
    #contactparam {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	color: #989898;
    	text-align: right;
    	height: auto;
    	width: 295px;
    	float: left;
    }
    #contactchamps {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	color: #000000;
    	text-align: left;
    	height: auto;
    	width: 300px;
    	float: right;
    }
    #contactform {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	height: auto;
    	width: 600px;
    	color: #989898;
    }
    -->
    </style>
    </head>
     
    <body bgcolor="#2e2e2e">
    <div align="center">
      <p><a href="http://www.test.loeildeluciole.com">
        <img src="/images/BanSiteOeil.jpg" width="800" border="0" /></a></p></div>
     
       <br />
       <br />
       <br />
       <br />
        <br />
      <br />
    <?php
    $nom=$_POST["nom"];
    $email=$_POST["email"];
    $message=$_POST["message"];
    $adresse="monmail@monfai.com";
    $email2 = "noreply@domain.td";
    if ($nom == "" OR $email == "" OR $message == "")
    {
    echo "Veuillez remplir correctement le formulaire<br>Cliquez <a href='javascript:history.back();'>ici</a> pour revenir au formulaire";
    }else{
    if (mail($adresse,$message,"Reply-to: $email2\r\nFrom: $email2\r\n"))
    {
    echo "<center><br><br><br><h2>Formulaire envoy&eacute; ! Je vous r&eacute;pondrai rapidement. Merci !</h2></center>";
    }else{
    echo '<center><br><br><br><h2>Une erreur est survenu lors de l\'envoi du message Vérifiez votre réseau</h2></center>';
    }
    }
    ?>
    <br />
    <br />
     
    <br />
    <br />
        <h2 align="center"><a href="http://www.test.loeildeluciole.com">Accueil</a> | <a href="albums.html">Albums</a> | <a href="Mentions_legales.html">Mentions légales</a> | <a href="contact.html">Contact</a></h2>
        </div>
    </body>
     
    </html>

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup Clad, je n'ai pas eu le temps de repasser ce week-end. Je viens d'essayer et ça fonctionne parfaitement !
    Il faut juste que je fasse correctement le mail que je reçois. L'objet du mail est encore le message laissé par les utilisateurs. Mais un grand merci pour ton aide !
    Bon lundi

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Ah oui tiens la solution :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>L'oeil de LuciOle - Contact</title>
    <style type="text/css">
    <!--
    @import url("style.css");
    #contactparam {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	color: #989898;
    	text-align: right;
    	height: auto;
    	width: 295px;
    	float: left;
    }
    #contactchamps {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	color: #000000;
    	text-align: left;
    	height: auto;
    	width: 300px;
    	float: right;
    }
    #contactform {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12pt;
    	height: auto;
    	width: 600px;
    	color: #989898;
    }
    -->
    </style>
    </head>
     
    <body bgcolor="#2e2e2e">
    <div align="center">
      <p><a href="http://www.test.loeildeluciole.com">
        <img src="/images/BanSiteOeil.jpg" width="800" border="0" /></a></p></div>
     
       <br />
       <br />
       <br />
       <br />
        <br />
      <br />
    <?php
    $sujet="Nouveau mail de demande de contact";
    $nom=$_POST["nom"];
    $email=$_POST["email"];
    $message=$_POST["message"];
    $adresse="monmail@monfai.com";
    $email2 = "noreply@domain.td";
    if ($nom == "" OR $email == "" OR $message == "")
    {
    echo "Veuillez remplir correctement le formulaire<br>Cliquez <a href='javascript:history.back();'>ici</a> pour revenir au formulaire";
    }else{
    if (mail($adresse,$message,$sujet,"Reply-to: $email2\r\nFrom: $email2\r\n"))
    {
    echo "<center><br><br><br><h2>Formulaire envoy&eacute; ! Je vous r&eacute;pondrai rapidement. Merci !</h2></center>";
    }else{
    echo '<center><br><br><br><h2>Une erreur est survenu lors de l\'envoi du message Vérifiez votre réseau</h2></center>';
    }
    }
    ?>
    <br />
    <br />
     
    <br />
    <br />
        <h2 align="center"><a href="http://www.test.loeildeluciole.com">Accueil</a> | <a href="albums.html">Albums</a> | <a href="Mentions_legales.html">Mentions légales</a> | <a href="contact.html">Contact</a></h2>
        </div>
    </body>
     
    </html>

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Gé-nial ! Merci beaucoup !

    Bon, j'ai juste inversé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sujet="Nouveau mail de demande de contact";
    $message=$_POST["message"];

    En mettant donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sujet=$_POST["message"];
    $message="Nouveau mail de demande de contact";
    Sinon, l'objet du mail était encore le message de l'utilisateur et "Nouveau mail de demande de contact" était dans le corps du mail.

    Un grand merci, vraiment !

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Ah oui désolé petite erreur, par contre c'est normal que le bouton est a gauche et que rien n'est bien cadré ?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Non, ce n'est pas normal, mais j'avais vu Merci. Je vais modifier ça (sans souci cette fois).
    Merci !

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Points : 30
    Points
    30
    Par défaut
    Pas de soucis, bon codage ^^

    Edit : La le nom ne sert à rien fait ça ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sujet=$_POST["message"];
    $message="Nouveau mail de demande de contact de ".$nom."";

  14. #14
    Membre du Club Avatar de Cornholio
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Un conseil, intervertis juste les variables dans la fonction mail php ?
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($adresse,$message,$sujet,[...])
    devient :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($adresse,$sujet,$message,[...])

    Car si tu commences à assigner le message à une variable nommée "sujet" et inversement, ton code va vite devenir illisible.

    Doc : fonction mail PHP

+ 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