Les Allergies
Alimentaires
Posez votre question Signaler

Envoi email php

hello! - Dernière réponse le 17 janv. 2010 à 15:49
Bonjour,
une fois qu'on a selectionner le produit que l'on veut, on clique sur "passer commande", voici commande.php
le recapitulatif s'affiche mais quand je clique sur confirmer sa marche pas ! je sais pas se qu'il va pas, pk le mail s'envoie pas... si qqun pouvait m'aider sa serait cool ! j'ai cree la bas et les tables correctement normalement...
Merci
include_once("fonctions-panier.php"); // Inclure les fonctions de gestion du panier
// Traiter le cas où le client n'est pas connecté
//
if(!isset($_SESSION["login"])) {
// On affiche la page d'enregistrement
//
echo("Veuillez vous enregistrer ou vous connecter avant de commander !");
include("enregistrement.php");
}
// Traiter le cas où le client est connecté
//
else {
// Traiter le cas où l'utilisateur a cliqué sur le bouton "confirmer la commande"
//
if (isset($_POST['confirmer'])) {
/*****************************************************************************/
/************* Récupérer les informations concernant le client ***************/
/*****************************************************************************/
$req = "SELECT * FROM Client WHERE Code_client = '".$_SESSION['login']."'";
$req = mysql_query($req) or die($req."<br>".mysql_error());
$res = mysql_fetch_array($req);
$nom = $res["nom"];
$prenom = $res["prenom"];
$sexe = $res["sexe"];
$adresse = $res["adresse"];
$codepostal = $res["codepostal"];
$ville = $res["ville"];
$pays = $res["pays"];
$nocb = $res["nocb"];
$moisfin = $res["moisfin"];
$anfin = $res["anfin"];
// Récupérer le sexe du client dans le but d'afficher "Mr/Mme Nom Prénom" dans le mail
//
if ($sexe=='H') $sexe = "Mr";
if ($sexe=='F') $sexe = "Mme";
/*****************************************************************************/
/********** Récupérer le montant total TTC et HT de la commande **************/
/*****************************************************************************/
$montantGlobalHT = MontantGlobalHT();
$montantGlobalTTC = MontantGlobalTTC($montantGlobalHT);
/*****************************************************************************/
/************************** Déclarer les variables ***************************/
/*****************************************************************************/
$destinataire = 'hello@hotmail.fr';
$email_expediteur = 'moi@hotmail.fr';
$email_reply='moi@hotmail.fr';
$sujet = "[Projet ProgWeb 2009/2010]Nouvelle commande de ".$_SESSION['login'];
/*****************************************************************************/
/************** Chaine contenant la version texte du message *****************/
/*****************************************************************************/
$message_texte = "Bonjour,\n\nVous avez une nouvelle commande de $sexe $prenom $nom (".$_SESSION['login'].")\n";
// Inclure les information concernant le client dans le message
//
$message_texte .= "Voici les informations associées à votre client.\n\n";
$message_texte .= "Coordonnées :"."\n";
$message_texte .= "$adresse\n$codepostal $ville\n$pays\n\n";
$message_texte .= "Carte bancaire :\n";
$message_texte .= "Numéro :$nocb\nExpire le $moisfin/$anfin.\n\n";
$message_texte .= "Voici le contenu de sa commande : \n";
// Inclure les informations concernant la commande dans le message
//
$nbArticles = count($_SESSION['panier']['id']);
for ($i=0 ;$i < $nbArticles ; $i++) {
$message_texte .= "Marque Chaussure : ".htmlspecialchars($_SESSION['panier']['marqueChaussure'][$i])." <===> ";
$message_texte .= "Prix UHT : ".htmlspecialchars($_SESSION['panier']['prixUHT'][$i])."€ <===> ";
$message_texte .= "qte : ".htmlspecialchars($_SESSION['panier']['qte'][$i])." <===> ";
$message_texte .= "Total qte HT : ".htmlspecialchars($_SESSION['panier']['prixqteHT'][$i])."€.\n\n";
}
$message_texte .= "Total HT : $montantGlobalHT\n";
$message_texte .= "TVA : ".(TVA*100)."%\n";
$message_texte .= "Total TTC : $montantGlobalTTC";
/*****************************************************************************/
/*************** Chaine contenant la version html du message *****************/
/*****************************************************************************/
$message_html = "<!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>
<title>Nouvelle commande de $sexe $prenom $nom</title>
</head>
<body>
Voici ses coordonnées : <br />
$adresse<br />
$codepostal $ville<br />
$pays<br />
<br />
Numéro de carte bleue : $nocb<br />
Expire le $moisfin/$anfin.<br />
<br />
Sa commande :<br />
<!-- Affichage du tableau décrivant le contenu de la commande -->
<table border=\"1\" width=\"600px\">
<tr>
<td><b>Marque</b></td>
<td><b>Prix Unitaire HT</b></td>
<td><b>Quantité</b></td>
<td><b>Prix Total HT</b></td>
</tr>";
// Inclure les informations concernant la commande dans le message
//
$nbArticles = count($_SESSION['panier']['id']);
for ($i=0 ;$i < $nbArticles ; $i++) {
$message_html .= "
<tr>
<td>".htmlspecialchars($_SESSION['panier']['marqueChaussure'][$i])."</td>
<td>".htmlspecialchars($_SESSION['panier']['prixUHT'][$i])."€</td>
<td>".htmlspecialchars($_SESSION['panier']['qte'][$i])."</td>
<td>".htmlspecialchars($_SESSION['panier']['prixqteHT'][$i])."€</td>
</tr>";
}
$message_html .= "
</table>
<br />";
// Inclure les informations sur les totaux HT et TTC ainsi que la TVA
//
$message_html .= "
<table border=\"1\" width=\"400px\">
<tr>
<td>Total HT : </td>
<td>$montantGlobalHT €</td>
<tr>
<tr>
<td>Taux de TVA : </td>
<td>".(TVA*100)."%</td>
<tr>
<tr>
<td>Total TTC : </td>
<td>$montantGlobalTTC €</td>
<tr>
</table>";
$message_html .= "
</body>
</html>";
//*****************************************************************************/
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//*****************************************************************************/
$frontiere = "-----=". md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = "From: \"Projet ProgWeb 2009/2010\" <'.$email_expediteur.'>\n";
$headers .= "Return-Path: <'.$email_reply.'>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=$frontiere\n";
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = "This is a multi-part message in MIME format.\n\n";
$message .= "--$frontiere\n";
$message .= "Content-Type: text/plain; charset=\"UTF-8\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "$message_texte\n\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= "--$frontiere\n";
$message .= "Content-Type: text/html; charset=\"UTF-8\"\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= "$message_html\n";
$message .= "\n--$frontiere--\n end of the multi-part";
// Traiter le cas où l'envoi du mail réussit
//
if(mail($destinataire,$sujet,$message,$headers)) {
// Affichage du message informant le client de la reussite de la commande
//
echo ("
Votre commande a été prise en compte et a été envoyé au webmaster.<br />
Nous vous remercions de votre fidélité.<br />
<a href=\"index.php\">Revenir à l'accueil.</a>
");
/*****************************************************************************/
/************** Enregistrer la commande dans la base de donnée ***************/
/*****************************************************************************/
$code_client = $_SESSION['login'];
$date=strftime('%Y-%m-%d');
// Mettre à jour de la table commande
//
$req = "INSERT INTO Commande (Code_client, datecom, montant, etat) VALUES ('$code_client', '$date', '$montantGlobalTTC', 'E')";
$req = mysql_query($req) or die($req."<br>".mysql_error());
// Récupérer l'id commande associée à l'entrée que l'on vient d'ajouter (id_com est en auto-incrementation)
//
$req = mysql_query("SELECT LAST_INSERT_ID() FROM Commande") or die($req."<br>".mysql_error());
$res = mysql_fetch_array($req);
$id_com = $res["LAST_INSERT_ID()"];
// Mettre à jour de la table detail pour chaque article commandé
//
$nbArticles = count($_SESSION['panier']['id']);
for ($i=0 ;$i < $nbArticles ; $i++) {
$id_chaussure = $_SESSION['panier']['id'][$i];
$qte = $_SESSION['panier']['qte'][$i];
$req = "INSERT INTO Detail (id_com, id_chaussure, datecom, qte) VALUES ('$id_com', '$id_chaussure', '$date', '$qte')";
$req = mysql_query($req) or die($req."<br>".mysql_error());
}
// Supprimer le panier
//
unset($_SESSION['panier']);
} // fin if(mail($destinataire,$sujet,$message,$headers))
else // Traiter le cas où l'envoi du mail a échoué (message d'erreur)
echo ("
Il y a un problème avec l'envoi de votre commande.<br />
<a href=\"index.php\">Revenir à l'accueil.</a>
");
}
// Traiter le cas où le client n'a pas cliqué sur confirmer et que le panier existe
//
if (creationPanier() && !isset($_POST['confirmer'])) {
$nbArticles = count($_SESSION['panier']['id']); // compte le nombre d'aricles dans le panier
// Si le panier est vide, afficher une erreur et rediriger vers la page d'accueil
//
if ($nbArticles <= 0)
echo ("<meta http-equiv=\"Refresh\" content=\"1; URL=index.php\"/>Erreur : votre panier est vide !");
// Sinon afficher le contenu du panier
//
else {
?>
<!-- Affichage du panier -->
<form method="post" action="#self">
<table id="panier">
<tr>
<td><b>Marque</b></td>
<td><b>Prix Unitaire HT</b></td>
<td><b>Quantité</b></td>
<td><b>Prix Total HT</b></td>
<td><b>Suppression</b></td>
</tr>
<?php
// Affichage de chaque article du panier (Titre, prix UHT, qte, prix total HT) + colonne suppression
//
for ($i=0 ;$i < $nbArticles ; $i++) {
echo "<tr>";
echo "<td><a href=\"javascript:;\" onclick=\"window.open('../resume.php?view=".$_SESSION['panier']['id'][$i]."', 'Description', 'menubar=no, status=no, scrollbars=no, resizable=no, menubar=no, width=800, height=350');\">".htmlspecialchars($_SESSION['panier']['marqueChaussure'][$i])."</a></td>";
echo "<td>".htmlspecialchars($_SESSION['panier']['prixUHT'][$i])." €</td>";
echo "<td><a href=\"index.php?p=commande&action=diminution&id=".$_SESSION['panier']['id'][$i]."&qte=1\">-</a> ".htmlspecialchars($_SESSION['panier']['qte'][$i])." <a href=\"index.php?p=commande&action=ajout&id=".$_SESSION['panier']['id'][$i]."&qte=1\">+</a></td>";
echo "<td>".htmlspecialchars($_SESSION['panier']['prixqteHT'][$i])." €</td>";
echo "<td><a href=\"index.php?p=commande&action=suppression&id=".$_SESSION['panier']['id'][$i]."\">Supprimer</a></td>";
echo "</tr>";
}
// Affichage du montant total HT et TTC + taux de TVA
//
echo "<tr><td colspan=\"3\"> </td>";
echo "<td colspan=\"2\">";
echo "Somme total HT : ".MontantGlobalHT()." €"; //Affichage du montant total TTC
echo "</td></tr>";
echo "<tr><td colspan=\"3\"> </td>";
echo "<td colspan=\"2\">";
echo "TVA : ".(TVA*100)."%"; // Affichage de la TVA
echo "</td></tr>";
echo "<tr><td colspan=\"3\"> </td>";
echo "<td colspan=\"2\">";
echo "Somme total TTC : ".MontantGlobalTTC(MontantGlobalHT())." €"; //Affichage du montant total HT
echo "</td></tr>";
echo "<tr><td colspan=\"4\">";
echo "<input type=\"submit\" name=\"confirmer\" value=\"Confirmer votre commande\" />"; // Bouton de confirmation
echo "<input type=\"button\" name=\"annuler\" value=\"Annuler votre commande\" onclick=\"document.location.href='index.php';\" />"; // Bouton d'annulation
echo "</td></tr>";
} // fin else (nombre d'article supérieur à 0)
} // fin if(creationPanier() && !isset($_POST['confirmer']))
} // fin else (client connecté)
?>
</table>
</form>
Lire la suite 

Envoi email php »

1 réponses
Réponse
+0
moins plus
Fait un echo de tes variables $destinataire, $sujet, $message et $headers

Tu devrai voir ou est l'erreur
Ajouter un commentaire
Ce document intitulé « envoi email php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?