Gestion des e-mails

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

  1. 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.
    1. 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.
      1. 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.
        1. 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
          1. L'erreur est dans ce morceau : « 'From :' $_POST["email_exp"] »
            Il faut un "." entre la variable est la chaine "From :"
            1. 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
              1. 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>
            2. 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é.