Envoi de mail PHP

Fermé
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008 - 17 mars 2008 à 10:27
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 - 17 mars 2008 à 18:09
Bonjour,

URGENT
Je débute réellement en php, et je souhaite intégrer un formulaire d'envoi de mail dans mon site déjà en ligne (autrement dit ne pas passer par la messagerie de l'internaute...)
J'ai déjà fait ma page formulaire en html, ma page send_email.php, et comme j'ai un PC qui tourne sur mon Mac, je teste mes fichiers sur le PC (je suis consciente que le Mac ne comprend pas le PHP...)
Le probleme, c'est que même après avoir ouvert internet explorer et appelé mon formulaire, je fais "SEND" puis j'ai ce message d'erreur :

Parse error: syntax error, unexpected $end in /home/www/le login de mon provider/www/mon site déjà en ligne/valerie/send_email.php on line 60

QU'EST CE QUE CELA VEUT DIRE ????????

Merci beaucoup par avance !!!
A voir également:

6 réponses

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 11:11
Salut,

Ca veux dire que tu as une erreur de syntax dans send_email.php probablement vers la fin.
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 11:20
Merci de me répondre...alors voici mon code ci dessous présent dans ma page send_email.php

<?php
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$civilite = stripslashes($_POST['civilite']);
$nom = stripslashes($_POST['nom']);
$expediteur = stripslashes($_POST['email']);
$sujet = stripslashes($_POST['sujet']);
$message = stripslashes($_POST['message']);
}
else
{
$civilite = $_POST['civilite'];
$nom = $_POST['nom'];
$expediteur = $_POST['email'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];
/* Destinataire (votre adresse e-mail) */
$to = 'mon adresse perso@libertysurf.fr';

/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis monsite.com par '.$civilite.' '.$nom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";

/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";

/* Envoi de l'e-mail */
$headers ='From: "nom"<adresse@fai.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$message ='<html><head><title>Un titre ici</title></head><body>Un message de test</body></html>';

if(mail('mon adresse perso@libertysurf.fr', 'Sujet', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>

QU'EST CE QUI CLOCHE ?????
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 11:31
A premiere vue je pense qu'il manque une }
là :

$message = $_POST['message'];
}
/* Destinataire (votre adresse e-mail) */
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 11:35
Super ! la page "le message a été envoyé s'affiche"... je regarde si je reçois bien les information !!
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008 > martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 11:50
En effet, je reçois le mail, mais je ne récupère aucune information du formulaire !!!!!!!!
Qu'ai je encore oublié ????????
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 12:02
Tu peux donner le code de ta page avec le formulaire ?
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 12:14
Voilà :


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>formulair</title>
</head>

<body>
<form action="send_email.php" method="post">
<p>
<label for="civilite">Civilité :</label>
<select id="civilite" name="civilite">
<option value="mr" selected="selected">Monsieur</option>
<option value="mme">Madame</option>
<option value="mlle">Mademoiselle</option>
</select>
</p>
<p>
<label for="nom">Nom/Prénom :</label>
<input type="text" id="nom" name="nom" />
</p>
<p>
<label for="email">E-mail :</label>
<input type="text" id="email" name="email" />
</p>
<p>
<label for="sujet">Sujet :</label>
<input type="text" id="sujet" name="sujet" />
</p>
<p>
<label for="message">Message :</label>
<textarea id="message" name="message" cols="40" rows="4"></textarea>
</p>
<p>
<input type="submit" name="envoye" value="Envoyer" />
</p>
</form>
</body>
</html>
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 12:23
Ca a l'air bon,
Mais tu reçois quoi dans le mail ?
Dans send_email.php tu as laissé
mail('mon adresse perso@libertysurf.fr', 'Sujet', $message, $headers)

Parce que ça devrait être $msg plutôt que $message pour retrouver les infos du formulaire.
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 12:33
J'ai tout de même remplacé par une adresse valide pour recevoir mes tests... ce que je reçois c'est ça :


De : adresse@fai.fr
Objet : sujet
Date : 17 mars 2008 11:47:25 HNEC
A : Valérie...
Répondre à : adresse_de_reponse@fai.fr

Puis dans mon message :

Un message de test

C'EST À DIRE RIEN DE L'EXPÉDITEUR !!!!!! j'avais pris soin de remplir le formulaire comme si j'étais un visiteur...
J'essaie ce que tu me dis au dessus... mais j'ai du faire un erreur PLUS GROSSE QUE MOI !!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 12:40
Oui si tu laisses $message tu ne peux avoir que ça
$message ='<html><head><title>Un titre ici</title></head><body>Un message de test</body></html>';

Car c'est dans $msg que tu as placé les infos de formulaire
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis monsite.com par '.$civilite.' '.$nom."\r\n\r\n"; 
...
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 15:26
Merci beaucoup pour ces précieux conseils... Dr Zoldberg... je dois passer sur autre chose, mais je suis à priori bien partie !

MERCI BEAUCOUP !
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008 > martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 17:17
Docteur Zoldberg... où etes vous ????? :-) :-)

J'ai repris et je n'arrive pas à récupérer dans ma messagerie les informations tapées dans le SUJET du formulaire !!!!!

Voici mon code :

<?php
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$civilite = stripslashes($_POST['civilite']);
$nom = stripslashes($_POST['nom']);
$expediteur = stripslashes($_POST['email']);
$sujet = stripslashes($_POST['sujet']);
$message = stripslashes($_POST['message']);
}
else
{
$civilite = $_POST['civilite'];
$nom = $_POST['nom'];
$expediteur = $_POST['email'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];
}

/* Destinataire (votre adresse e-mail) */
$to = 'mon adresse perso@fai.fr';

/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis 1europourlaplanete.com par '.$civilite.' '.$nom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";

/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";

/* Envoi de l'e-mail */
$headers ='From: '.$expediteur."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$message ='<html><head><title>Un titre ici</title></head><body>Un message de test</body></html>';

if(mail('mon adresse perso@fai.fr', 'Sujet', $msg, $headers, $expediteur))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
0
martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008 > martou Messages postés 13 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 17 mars 2008
17 mars 2008 à 17:27
Docteur Zoldberg... où etes vous ????? HELP !!!!
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 18:09
Me voila,
Tu n'utilises nul part la variable $sujet (ou bien je l'ai ratée).
Après ça dépend où tu veux retrouver ces données.
Tu peux faire
if(mail('mon adresse perso@fai.fr', $sujet, $msg, $headers, $expediteur)) 

Pour avoir le sujet du formulaire en tant que sujet du mail par exemple.
0