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

PHP & Base de données Discussion :

Envoi mail ne fonctionne pas ! [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut Envoi mail ne fonctionne pas !
    Re bonsoir,

    Je veux utiliser la fonction mail dans du php.

    Mais cela ne fonctionne pas, pourtant ma page ne me renvoie aucune erreur.

    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
    <?php
    session_start();
    include("az.inc"); 
    
    // Processus de Login obligatoire pour continuer
    
      if (@$_SESSION['auth'] != "yes")                     # 9
      {
         header("Location: Member_page.php");
         exit();
      }
    
      
    // Connexion et Selection de la base 
    
    $cxn = mysql_connect($host, $user, $passwd) 
                or die ("Couldn't connect to server.");    #15
         
    	$db_selected = mysql_select_db($dbname, $cxn);
    	if (!$db_selected) {
       		die ('Impossible de selectionner la base de donnees : ' . mysql_error());
    }
    
    
    // requete d'insertion du n° de commande dans la BDD
    
    $log=$_SESSION['logname'];	
    $requete_log ="INSERT INTO Commande (Cde_Num,Cde_loginName,Cde_Date) VALUES ('','".$log."',NOW())";	
    	
    $rq_log_insert = mysql_query($requete_log) or die ('Erreur '.$requete_log.' '.mysql_error());
    
    include("header_cde.php"); 
     
    ?>
    
    
    
      <div id="content">
       	  <h1>Votre commande</h1>
    <? 
    // recuperer le numéro de la commande
    	 
    $num_cde ="SELECT MAX(Cde_Num) AS MaxNumCde FROM Commande WHERE Cde_loginName='{$_SESSION['logname']}'";		 
    $resNumCde = mysql_query($num_cde) or die ('Erreur '.$num_cde.' '.mysql_error()); 
    
    $res_num_cde = mysql_fetch_assoc($resNumCde) or die ('Erreur '.$resNumCde.' '.mysql_error());
    
    // requete d'insertion de la commande dans la BDD
    
    $ref=$_SESSION['panier']['Reference'];
    $nom=$_SESSION['panier']['NomProduit'];
    $qteC=$_SESSION['panier']['qteColis'];
    $qteP=$_SESSION['panier']['qteProduit'];
    $prix=$_SESSION['panier']['PrixUnitaire'];
     
    $nbArticles=count($_SESSION['panier']['NomProduit']);
      if ($nbArticles <= 0)
       exit ("Votre panier est vide. La commande ne peut être finalisée.");
      else
      {
       for ($i=0 ;$i < $nbArticles ; $i++)
       { 
         $requete ="INSERT INTO LigneCommande (LC_Id,Lc_IdCommande,LC_IdProduit,LC_Quantite,LC_MontantTTC,LC_MontantTVA) VALUES ('','".$res_num_cde['MaxNumCde']."','".$ref[$i]."','".$qteP[$i]."','".$prix[$i]."',19.6)";
     
         $rq_insert = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
       }
      }
      
      $num_cde_format = sprintf("%06d", $res_num_cde['MaxNumCde']);
       echo "Votre commande a bien été enregistrée sous le n° ".$num_cde_format.". Vous allez recevoir un mail de confirmation";
       
    //  send email to new member */                #208
            $reqmail = "SELECT email FROM Member WHERE loginName ='" . $_SESSION['logname'] . "'";
    		$res_reqmail = mysql_query($reqmail) or die ('Erreur '.$reqmail.' '.mysql_error()); 
    
    $mail = mysql_fetch_assoc($res_reqmail) or die ('Erreur '.$res_reqmail.' '.mysql_error());
    		
    		$emess = "Votre commande n°".$num_cde_format." a bien été enregistrée. ";
            $emess.= "Si vous avez des questions ou des problèmes,";
            $emess.= " contactez nous via le formulaire";
    		$emess.= "NE REPONDEZ PAS A CE MESSAGE : en effet, ceci est un mail automatique, aucune réponse ne serait lue.\n\n";
            $emess.= "Cordialement.\n";
    		$emess.= "Lr";
    		
    		
            $ehead="From: commandes@xx.fr\r\n";  #216
            $subj = "--- Votre commande ---";
            $mailsnd=mail("$email","$subj","$emess","$ehead");
       
      
    // efface les données de session du panier
    
    unset ($_SESSION['panier']);
    
    ?>
    	<br/><br/>
      </div>
    Merci pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    mail($email,$subj,$emess,$ehead);
    ?>

  3. #3
    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
    Toutes les apostrophes sont en trop dans ton fonction.

    Sinon, que vaux $mailsnd ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Bon en fait j'ai testé en mettant un echo "mon adresse mail";

    Et il me la donne pas mais m'affiche Array.

    C'est que ma requete n'est pas bonne. Après ça devrait fonctionner !

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($mail["$email"],"$subj","$emess","$ehead");

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Merci pour votre aide,

    Après plusieurs essai, ça fonctionne :

    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
             $reqmail = "SELECT email FROM Member WHERE loginName ='" . $_SESSION['logname'] . "'";
    		$res_reqmail = mysql_query($reqmail) or die ('Erreur '.$reqmail.' '.mysql_error()); 
    
    $mail = mysql_fetch_array($res_reqmail) or die ('Erreur '.$res_reqmail.' '.mysql_error());
     
      
      $num_cde_format = sprintf("%06d", $res_num_cde['MaxNumCde']);
       echo "Votre commande a bien été enregistrée sous le n° ".$num_cde_format.". Vous allez recevoir un mail de confirmation à l'adresse suivante : " . $mail['email'] . "";
       
    //  send email to new member */                #208
    
    		
    		$emess = "Votre commande n°".$num_cde_format." a bien été enregistrée. ";
            $emess.= "Si vous avez des questions ou des problèmes,";
            $emess.= " contactez nous via le formulaire";
    		$emess.= "NE REPONDEZ PAS A CE MESSAGE : en effet, ceci est un mail automatique, aucune réponse ne serait lue.\n\n";
            $emess.= "Cordialement.\n";
    		$emess.= "L'équipe xx.fr";
    		
    		
            $ehead="From: commandes@xx.fr\r\n";  #216
            $subj = "--- Votre commande---";
                
            mail($mail['email'],"$subj","$emess","$ehead");

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

Discussions similaires

  1. [Toutes versions] l'envoie de mail ne fonctionne pas
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/11/2010, 22h52
  2. [phpmailer] Envoi d'e-mail ne fonctionne pas
    Par _jey_ dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/09/2009, 15h28
  3. Réponses: 4
    Dernier message: 27/05/2009, 15h50
  4. Envoi de mail avec 'mail' ne fonctionne pas
    Par flavio_dev dans le forum Linux
    Réponses: 1
    Dernier message: 01/09/2008, 14h22
  5. [Mail] envoi mail ne marche pas
    Par Alain15 dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2006, 16h24

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