Code php pour envoyer un mail

Fermé
farrrrrrrrah - Modifié par green day le 19/04/2010 à 12:27
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 19 avril 2010 à 13:52
bonjour,je fait un code php pour envoyer un mail pour mon site mais il ya des eurreurs que je ne les trouves pas voici le code:

<?php
$con=mysql_connect("localhost","root","");
$db=mysql_select_db("gestion-message",$con);
$query =" SELECT * FROM message WHERE id_destinataire ='".$destinataire."' AND id_expediteur = '".$expediteur."' texte-du-message='".$message.'" ";
//-----------------------------------------------
//DECLARE LES VARIABLES
//-----------------------------------------------
$destinataire=$_POST['destinataire'];
$expediteur=$_POST['expediteur'];
$message='Bonjour,'."\n\n".'Voici un message au format texte';

$message_html='<html>
<head>
<title>Titre</title>
</head>
<body>Test de message</body>
</html>';


//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------

$frontiere = '-----=' . md5(uniqid(mt_rand()));

//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "destinataire" <'.$destinataire.'>'."\n";
$headers = 'From: "expediteur" <'.$expediteur.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';

//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = 'This is a multi-part message in MIME format.'."\n\n";

$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message."\n\n";
//-----------------------------------------------
//PIECE JOINTE
//-----------------------------------------------

$message .= 'Content-Type: image/jpeg; name="nom_du_fichier.jpg"'."\n";
$message .= 'Content-Transfer-Encoding: base64'."\n";
$message .= 'Content-Disposition:attachement; filename="nom_du_fichier.jpg"'."\n\n";
//$message .= chunk_split(base64_encode(file_get_contents('nom_du_fichier.jpg')))."\n";

if(mail($destinataire,$expediteur,$message,$headers))
{
echo 'Le mail a été envoyé';
}
else
{
echo 'Le mail n\'a pu être envoyé';
}
?>
le systeme affiche ça:
Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.1\www\bureau-virtuel\validation-env-mesg.php on line 8

Edit : titre.
A voir également:

3 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 avril 2010 à 11:04
Bonjour,

"Tu as fais un code" et "tu as des erreurs que tu ne trouve pas", sans pour autant spécifier ces erreurs ou nous indiquer leur message / leurs lignes.
En gros tu as pomper un code tout fait, tenter de l'appliquer à quelque chose d'existant pour ton site mais ça ne fonctionne pas.

Pourrais-tu nous en dire plus concernant ces erreurs ? La ligne à laquelle elle apparait, le message d'erreur en question, etc.
0
farrrrrrrrah
19 avril 2010 à 12:07
Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.1\www\bureau-virtuel\validation-env-mesg.php on line 8
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 avril 2010 à 13:52
Re,

Ta requête SQL ne semble pas être complète:
"' texte-du-message='".$message.'"
Il faut ajouter un "AND" avant "texte-du-message".

Qui plus est, tu construit ta requête avec des variables avant même d'avoir récupérer la valeur de ces variables, inverse donc, construit ta requête après avoir récupérer ces variables.

Pour ce qui est du syntaxe error, je ne vois rien de choquant dans les premières lignes.

La ligne 8 correspond à quelle ligne réellement dans ton fichier (ligne vide comprise donc) ?
0