Gestion des e-mails

Fermé
jamel - 23 mai 2010 à 18:22
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 27 mai 2010 à 18:27
Bonjour,



j'é fé un formulére d'e-mail en php. mé kan je le mé en ligne ca marke :
Parse error: syntax error, unexpected '[', expecting ']' in /home/formulaire.php on line 11


alor ke la ligne 11 c'é : <?php

kelkin pe m'éder?

voila le code complet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Envoi de message</title>
</head>

<body>
<h1>Envoi de message</h1>
<?php
if (empty($_POST[["email_exp"]));
?>
<form vname="FormName" action="formulaire.php" method="post" enctype="multipart/form-data" name="form">
<table border="0" width="137">
<tr><td>De :</td><td><input type="text" name="email_exp" size="35"></td></tr>
<tr><td>A : </td><td><input type="text" name="email_dest" size="35" value="nom@adresse.com"></td></tr>
<tr><td>Sujet</td><td><input type="text" name="email_sujet" size="35"></td></tr>
<tr><td>Message</td><td><textarea rows="12" name="email_message" cols="60"></textarea></td></tr>
<tr><td>Fichier joint :</td><td><input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="file" size="16" name="NomFichier">
</td></tr>
<td><input type="submit" value="Envoyer"></td>
</table>
</form>
<?php
else:
$erreur=false;
$erreur_nom="";
if(empty($_POST["email_message"]))
{
$erreur=true;
$erreur_nom=$erreur."Vous devez saisir un texte dans la zone message<br>";
}
if(ereg("@",$_POST[["email_exp"]))
{
$erreur=true;
$erreur_nom=$erreur_nom."Votre adresse e-mail est incorrecte<br>";
}
if($erreur)
{
echo "<center>"
echo "<b><font size='4'><br>Votre formulaire comporte les erreurs suivantes<br><br></font></b>";
echo $erreur_nom;
echo ("<b><center><font size="4" face="tahoma">Votre demande a bien été enregistrée</font></center>");
$envoi=$mail($_POST["email_dest"], $_POST["email_sujet"], $_POST["email_message"], "From"$_POST["email_exp"]);
}
endif;
?>
</body>
</html>

7 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 23/05/2010 à 18:25
Fait un effort d'écriture !
Et regarde à la ligne suivante, ça saute aux yeux :
if (empty($_POST[["email_exp"]));

Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0
désolé mais je n'ai pas l'habitude de marquer en francais j'apprend depuis pas longtemp. c'est difficil :-)!

j'ai fait la correction mais ca marque ceci:

Parse error: syntax error, unexpected T_ELSE in formulaire.php on line 27

j'ai changé la place du

<?php
if (empty($_POST[["email_exp"]));
?>

en le mettant dan le <head></head> mais ca marque toujour la même erreur.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
24 mai 2010 à 12:55
Tu mélanges un peu la syntaxe du PHP avec celle d'un autre langage (Python).

Structure conditionnelle en PHP :
<?php
if(/* condition */) {
    // si la condition est remplie
} else {
    // Sinon
}
Les accolades ne sont pas nécessaire quand il n'y a pas plus d'une instruction.
0
j'ai resolu quelque éreurs mais j'ai 1 probléme avec la ligne 46 :

$envoi=$mail ($_POST["email_dest"], $_POST["email_sujet"], $_POST ["email_message"], 'From :' $_POST["email_exp"]);

ca m'affiche ca :
Parse error: syntax error, unexpected T_VARIABLE in /formulaire.php on line 46

et si je met

$envoi=$mail .($_POST["email_dest"], $_POST["email_sujet"], $_POST ["email_message"], 'From :' $_POST["email_exp"]);

j'ai :

Parse error: syntax error, unexpected ',' in /formulaire.php on line 46
0

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

Posez votre question
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
27 mai 2010 à 17:00
L'erreur est dans ce morceau : « 'From :' $_POST["email_exp"] »
Il faut un "." entre la variable est la chaine "From :"
0
mintenant je n'ai plus de message d'erreurs mai j'ai 1 otre probleme (tjr concernant le formulaire.php):

je tape bien mon adresse e-mail dans le formulère (avec @) mais quant j'envoi, j'ai le message d'erreur qui stipule une adresse e-mail incorrecte:

Votre formulaire comporte les erreurs suivantes

Votre adresse e-mail est incorrecte

il y a surement un truc que j'ai raté dans le code mai je ne sai pas
0
au cas ou voila le nouveau code corigé:
<?php
if (empty($_POST["email_exp"])):
?>
<form vname="FormName" action="formulaire.php" method="post" enctype="multipart/form-data" name="form">
<table border="0" width="137">
<tr><td>De :</td><td><input type="text" name="email_exp" size="35"></td></tr>
<tr><td>A : </td><td><input type="text" name="email_dest" size="35" value="nom@domaine.com"></td></tr>
<tr><td>Sujet</td><td><input type="text" name="email_sujet" size="35"></td></tr>
<tr><td>Message</td><td><textarea rows="12" name="email_message" cols="60"></textarea></td></tr>

<td><input type="submit" value="Envoyer"></td>
</table>
</form>
<?php
else:
$erreur=false;
$erreur_nom="";
if(empty($_POST["email_message"]))
{
$erreur=true;
$erreur_nom=$erreur_nom."Vous devez saisir un texte dans la zone message<br>";
}
if(ereg("@", $_POST["email_exp"]))
{
$erreur=true;
$erreur_nom=$erreur_nom."Votre adresse e-mail est incorrecte<br>";
}
if($erreur)
{
echo '<center>';
echo '<b><font size="4"><br>Votre formulaire comporte les erreurs suivantes<br><br></font></b>';
echo $erreur_nom;
echo '</center>';
}else{
echo '<b><center><font size="4" face="tahoma">Votre demande a bien été enregistrée</font></center>';
$envoi=$mail($_POST["email_dest"], $_POST["email_sujet"], $_POST ["email_message"], 'From :'.$_POST["email_exp"]);
}
endif;
?>
</body>
</html>
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
27 mai 2010 à 18:27
if(ereg("@", $_POST["email_exp"]))
{ 
    $erreur=true; 
    $erreur_nom=$erreur_nom."Votre adresse e-mail est incorrecte<br>"; 
}
Ça veut dire que si "@" est présent dans $_POST['email_exp'], ce qui est entre les accolades est exécuté.
0