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 :

Envoyer un e-mail avec un formulaire


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut Envoyer un e-mail avec un formulaire
    bonsoir,
    j'ai mis en place un formulaire de contact, les données saisies sont stocker dans une base de donnée jusqu'a la pas de soucis, le soucis est que je ne parviens pas à recevoir par mail les infos saisies dans le formualire, n'y a t-il pas un soucis dans la fonction mail , voici le code de la page 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
    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
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<title>XXX</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    			<link rel="stylesheet" type="text/css" media="screen,projection,print" href="acceuil.css" /> 
     
    	</head>
    	<body>
    	<div id="bandeau">Ici le bandeau du site</div>
     
    			<div id="menu"><!-- un menu de navigation -->
    <ul>
    <li><a href="acceuil.html">Acceuil</a></li>
    </ul>
     
    <ul>
    <li><a href="historique.html">Historique</a></li>
    </ul>
     
    <!-- un menu de navigation avec sous-menus-->
    <ul>
    <li><a href="#">Techniques<!--[if IE 7]><!--></a><!--<![endif]--> 
    <!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="généralité.html">Caractéristiques Générales</a></li>
    <li><a href="moteur.html">Moteur</a>
    	<ul >
    <div id="sousmenu"><!-- un menu de navigation -->
    				<ul ><li><a href="smenu5.1">Sous menu5.1</a></li></ul >
     
    				<li><a href="smenu3.1">Sous menu3.1</a></li>
     
    				<li><a href="smenu3.1">Sous menu3.1</a></li>
     
    				<li><a href="smenu3.1">Sous menu3.1</a></li>
     
    				<li><a href="smenu3.1">Sous menu3.1</a></li>
    			</ul>
     
    <li><a href="boitevitesse.html">Boite à Vitesse - Pont Arrière</a></li>
    <li><a href="essuieuroue.html">Essieu Avant - Roues Avant </a></li>
    <li><a href="rg.html">Renseignements Généraux - Plaques Indicatives</a></li>
    <li><a href="equipelec.html">Equipements Eléctriques</a></li>
    <li><a href="capacitevidange.html">Capacité - Vidange</a></li>
    </div>
    </ul>
    <!--[if lte IE 6]></td></tr></table></a><![endif]-->
    </li>
    </ul>
     
     
    <!-- un menu de navigation avec sous-menus-->
    <ul>
    <li><a href="#">Gallerie<!--[if IE 7]><!--></a><!--<![endif]-->
    <!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="phototheque.html">Restauration</a></li>
    <li><a href="lien.html">Manifestations 2007</a></li>
    <li><a href="lien.html">Manifestations 2008</a></li>
    <li><a href="lien.html">Manifestations 2009</a></li>
    <li><a href="lien.html">Vidéos</a></li>
    </ul>
    <!--[if lte IE 6]></td></tr></table></a><![endif]-->
    </li>
    </ul>
     
    <ul>
    <li><a href="lien.html">Liens</a></li>
    </ul>
     
     
    <ul>
    <li><a href="contact.html">Contact</a></li>
    </ul>
     
    </div>
     
                <div id="contenu">
     
    <?php
            if(isset($_POST['input_type_submit']))// ton $_POST est bien nommé comme ton input.... ;-)
            {
            mysql_connect('localhost','root','');
            mysql_select_db('formulaire');
                   //le traitement...
                   //Protection des variable...
                   if(empty($_POST['email']))
                           echo'Pour assuré un suivi, je vous demanderais d\'indiquer votre email s\'il vous plait.';
                   else
                    {
    				if(empty($_POST['nom']))
    				{
    				$nom = 'Anonyme';
    				}
    				else
    				{
                   $nom = mysql_real_escape_string($_POST['nom']);
    			   }
                   $email = mysql_real_escape_string($_POST['email']);
                   $sujet = mysql_real_escape_string($_POST['sujet']);
    			   $contenu = mysql_real_escape_string($_POST['contenu']);
                   mysql_query("INSERT INTO `formulaire` VALUES('','$nom','$email','$sujet','$contenu')")or die(mysql_error());
     
    			    if (!empty($_POST['contenu']) && !empty($_POST['sujet']) && !empty($_POST['mails'])&& !empty($_POST['nom']))
    {
    		$mail = 'lavalettevirginie87@voila.fr';
    		$contenu = $_POST['contenu'];
    	    $sujet = $_POST['sujet'];
    		$mails = $_POST['mails'];
    		$nom = $_POST['nom'];
     
    		$headers ='From: "'.$nom.'"<'.$mails.'>'."\n";
    		$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    		$headers .='Content-Transfer-Encoding: 8bit';
    		$msg = "$contenu";
    		mail($mail, $sujet, $msg, $headers);
    }
     
    			   echo'Votre demande à bien été envoyée!';
     
           }
           ?>
    			<form method="post" action="">
       Me contacter ...
     
                   <label for="nom">Nom  </label> :<input type="text" name="nom" id="nom" size="40" maxlength="50" />
     
                  <label for="email">Email </label> : <input type="text" name="email" id="email" size="40" maxlength="25"/>
     
                  <label for="sujet">Sujet </label> : <input type="text" name="sujet" id="sujet" size="40" maxlength="50"/>
     
                  <label for="contenu">Message </label> :<textarea name="contenu" id="contenu" rows="10"></textarea>
                  <input type="submit" name="input_type_submit"/>
     
    			  </form>
     
                  </div> 
     
                <div id="piedpage">Copyright "Tout pourri Corporation" 2009, tous droits réservés</div>
     
    </div>			
     
    	</body>
     
    </html>
    merci d'avance pour vos conseils

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est à dire ? tu ne recois pas le mail ou tu recois un mail incomplet ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    oui je n'ai pas préciser.
    Je ne reçois pas de mail.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Par défaut
    Bonsoir,

    Dans un fichier PHP essayez simplement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mail('votre_email', 'test', 'test');
    Si vous ne recevez rien à 'votre_email' c'est que votre serveur de mail n'est pas ou mal configuré.

    A partir de là ça se complique, l'idéal serait de :

    - Vérifier dans le fichier de log de PHP si une erreur s'affiche
    - Vérifier dans la configuration de PHP si un serveur d'envoi de mail (SMTP est configuré)

    Et si vous êtes en local ce n'est même pas sûr que vous en ayez un d'installé !

  5. #5
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    je travaille en local avec wamp
    je tente de transférer ma page contact.phph sur ma page perso free mais j'ai un soucis de connection avec filezilla

  6. #6
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    As tu configuré ton php.ini?

  7. #7
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    pas du tout

  8. #8
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    Voila surement le problème. Clik gauche sur wamp puis PHP puis php.ini. Il va t'ouvrir un fichier.
    Recherche le bloc suivant :
    [mail function]
    ; For Win32 only.
    SMTP = ton smtp (si tu es chez neuf par exemple) smtp.neuf.fr
    smtp_port = 25

    ; For Win32 only.
    sendmail_from = tonadressemail

  9. #9
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    voila ce que j'obtient sans aucune modification :


    [mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port = 25

    ; For Win32 only.
    sendmail_from = lavalettevirgini87@voila.fr

  10. #10
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    [mail function]
    ; For Win32 only.
    SMTP = localhost <--------- a modifier!! si tu es chez free (vu ktu as parlé de free) met smtp.free.fr (je pense) tu auras donc
    SMTP = smtp.free.fr
    smtp_port = 25

    ; For Win32 only.
    sendmail_from = lavalettevirgini87@voila.fr

  11. #11
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    je vais faire la modification mais une autre question se pose, je ne parvient pas à transférer mes pages sur mon espace d'hébergement free voici que j'obtient sur filezilla :


    Statut : Résolution de l'adresse de ftpperso.free.fr
    Statut : Connexion à 212.27.63.3:21...
    Statut : Connexion établie, attente du message d'accueil...
    Réponse : 220 Serveur de mise a jour des pages perso de Free.fr version [May 5 2008 15]
    Commande : USER lavalettevirginie
    Réponse : 331 Password required for lavalettevirginie.
    Commande : PASS **********
    Réponse : 530 Login incorrect. [677]
    Erreur : Erreur critique
    Erreur : Impossible d'établir une connexion au serveur

  12. #12
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    Et bien ton login est incorrect, vérifie tes identifiants

  13. #13
    Membre éclairé Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Par défaut
    concernant ma page perso free je viens de résoudre le probléme maintenant j'ai toujours le soucis d'envoi de mail

  14. #14
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    T'as une erreur?

  15. #15
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Salut,

    Pour envoyer un mail via le smtp de Free :

    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
     
    $to = 'ton_adresse';
    $objet = 'ton_objet';
    $corps = 'ton_corps';
    $headers = 'From: ' .$mail. "\r\n" .
                    'Reply-To: ton_adresse' . "\r\n" .
                    'X-Mailer: PHP/' . phpversion();
    $envMail = @mail($to, $objet, $corps, $headers);
    if($envMail)
    {
         echo "E-Mail envoye avec succes !";
    }
    else
    {
         echo "Echec de l'envoi du mail !";
    }
    Après certains serveurs de mails peuvent en bloquer certains.

    Le mieux serait d'utiliser un mailer un peut plus puissant tel que swift

    A+

    Mathieu

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut
    Free permet bien l'envoi de mail.

    Pour débugger ton code, il faut y mettre des mouchards.

    Déjà, tu n'es pas sûre que tu rentres bien dans ton "if "qui t'envoies le mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
            if(isset($_POST['input_type_submit']))// ton $_POST est bien nommé comme ton input.... ;-)
            { echo " condition remplie pour envoi du mail";)
    Essayes déjà avec ça car la manière dont est créée ta variable "input_type_submit" me paraît un peu bizarre.

    Serait à mon sens préférable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" name="input_type_submit" value ="envoi_mail"/>
    et ta condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mouchard = $_POST['input_type_submit'];
    if (strcmp ($mouchard,"envoi_mail")=0){...ton code d'envoi de mail...}
    Autre suggestion, mettre aussi un mouchard sur la fonction mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mouchard_mail=mail($mail, $sujet, $msg, $headers);
    if (mouchard_mail){echo" mail envoyé";}

Discussions similaires

  1. [IP-2010] Envoyer un mail avec un formulaire en corps de message en c#
    Par Locuste dans le forum InfoPath
    Réponses: 0
    Dernier message: 19/04/2011, 09h51
  2. Envoyer un e-mail avec mon formulaire
    Par cdevl32 dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2008, 21h37
  3. [Mail] Comment envoyer des e-mails avec PHP
    Par lauryk dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2007, 17h16
  4. [MySQL] Envoyer un e-mail avec temporisation
    Par soad029 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/12/2006, 17h14
  5. Réponses: 1
    Dernier message: 21/07/2006, 16h03

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