Envoi email php

Fermé
hello! - 17 janv. 2010 à 10:01
 Siluni - 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>
A voir également:

1 réponse

Fait un echo de tes variables $destinataire, $sujet, $message et $headers

Tu devrai voir ou est l'erreur
0