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 :

Envoi de mail via un formulaire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2016
    Messages : 51
    Points : 15
    Points
    15
    Par défaut Envoi de mail via un formulaire
    Je bataille depuis des jours sur ce code sans jamais avoir de retour de mail dans ma boite mail

    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
     
    if(isset($_POST['envoyer'])){
     	extract($_POST);
     	if(!empty($nom) && !empty($email) && !empty($sujet) && !empty($message)){
     
     		try{
     			$myDate=date('Y-m-d');
     			$bdd = new PDO('localhost', 'id1782910_contact', 'utf8', 'id1782910_arnaud2', 'mrbilbo2');
     
     			$reponse = $bdd->prepare("INSERT INTO contact VALUES(DEFAULT,?,?,?,?,?)");
     			$reponse->execute(array($nom,$email,$sujet,$message,$myDate));
     			echo "email enregistré avec succès";
     
     			$reponse->closeCursor();
     		}
     
     		catch(PDOException $e){
     			die('Erreur '.$e->getMessage());
     		}
     	}
     
     
     	$to = 'mroudy@wanadoo.fr';
     
     	$headers = 'From: .email'."\n";
     	$headers .='Reply-To: testoudycom.000webhostapp.com'."\n";
     	$headers .='Content-Type: text/html;'."\n";
     	if(mail($to, $sujet, $message, $headers)) {
     		echo "Le message a bien été envoyé";
     	} else {
     		echo "Le message n'a pu être envoyé";
     	}
     }

    et voici le formulaire

    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
     
    	<div id="mail">
     
    <form action="" method="post">
    	<br>
    				<b><u><center>Envoyez moi un mail</center></u></b>
    		</br>
    		<table>
    			<tr>
    				<td>Pseudo</td>
    				<td><input name="Nom" type="text" value="" /></td>
    			</tr>
    			<tr>
    				<td>Adresse email</td>
    				<td><input name="email" type="text" value="" /></td>
    			</tr>
    			<tr>
    				<td>Sujet </td>
    				<td><input name="sujet" type="text" value="" /></td>
    			</tr>
    			<tr>
    				<td>Message </td>
    				<td><textarea name="message"></textarea> </td>
    			</tr>	
    			<tr>
    				<td>Envoi </td>
    				<td><input type="submit" value="Envoyer" name="envoyer" /></td>
    			</tr>	
    		</table>
     
    </form>	
    		</div>

    Si vous avez une solution, je suis preneur

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise la classe PHPMailer plutôt que la fonction mail car les mails "tout nu" ont tendance à finir dans les filtres anti-spam des serveurs SMTP.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2016
    Messages : 51
    Points : 15
    Points
    15
    Par défaut
    Merci Sabotage, je regarderai cette classe un peu plus tard. Ce que je voudrais comprendre sur mon exemple c'est pourquoi le mail n'arrive pas et qu'aucune entrée ne se fait dans la bdd

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'avais pas dit que l'insertion ne fonctionnait pas.
    Tu as mis "Nom" au lieu de "nom".
    N'utilise pas la fonction extract() : c'est une mauvaise pratique.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2016
    Messages : 51
    Points : 15
    Points
    15
    Par défaut
    Ok, merci.
    Je commets souvent ce type d'erreurs d'inattention.
    Pour la suite je vais écouter tes conseils, utiliser la classe PHPMailer et utiliser la fonction extract().
    Bref faut que je bosse encore beaucoup.
    Je vais essayer et je poste un retour.

    Encore merci.

    Bon, en fait ça ne fonctionne pas. Je vais essayer de trouver l'erreur, je pense qu'il manque un champ dans le formulaire pour que l'entrée dans la bdd se fasse.
    En attendant je vais faire une pause de quelques jours car là, j'ai le cerveau qui à fondu
    Je reviens sur le sujet plus tard.

Discussions similaires

  1. Pas d'envoi de mail via le formulaire
    Par smiley1810 dans le forum Langage
    Réponses: 16
    Dernier message: 10/04/2017, 12h42
  2. envoi d'un mail via un formulaire
    Par DiverSIG dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 18/04/2011, 12h06
  3. Envoie mail via tuto formulaire slide
    Par manusimon dans le forum jQuery
    Réponses: 1
    Dernier message: 29/01/2010, 10h45
  4. Envoi de mail via formulaire
    Par Generation-Web dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2008, 14h09
  5. Envoi de mail via un formulaire
    Par zizou86 dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2008, 12h27

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