Problème dans script

Résolu/Fermé
hawaien88 Messages postés 49 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 13 mai 2012 - 28 sept. 2009 à 12:26
hawaien88 Messages postés 49 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 13 mai 2012 - 5 févr. 2012 à 16:50
Bonjour,

J'essaie de faire un formulaire de contact avec choix par liste déroulante de destinataire, je ne connais pas grand chose en programmation php, j'ai donc suivi un tuto sur internet d'un autre site...

Le problème c'est que je me retrouve avec une erreur en ligne 71.

Quelqu'un saurait-il me dire ou se trouve l'erreur.

C'est un formulaire qui tient en 1 seul fichier...

<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">

<input type="hidden" name="envoi" value="ok">

<html>
<body>
<?=affichage();?>
</body>
</html>

$listeDesMails = array ( 
  "Mon mail" => "monmail1@gmail.com",
  "Ton mail" => "monmail2@hotmail.com", 
  "Son mail" => "monmail3@free.fr",
  "Leur mail" => "monmail4@free.fr" );


<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
  <input type="hidden" name="envoi" value="ok">
    <textarea name="champTexte" cols="75" rows="10">
      (n'oubliez pas de signer votre message!)
    </textarea>
    <br>
    Envoyer ce mail à 
    <select name="choixMail">
      <option value="0" selected>Choisissez un destinataire...</option>
      <option value="1">Mon mail</option>
      <option value="2">Ton mail</option>
      <option value="3">Son mail</option>
      <option value="4">Leur mail</option>
      <option value="5">Tout le monde</option>
    </select>
  <input type="submit" name="Submit" value="Envoyer">
</form>

function affichage()
  {
  if (isset($_POST['envoi']) && ($_POST['envoi'] == "ok"))
    {
    if ($_POST['choixMail'] == 0)
      {
      afficheFormulaire("pasDeMail");
      } 
    else 
      {
      definitionAdresse();
      }
    }
  else
    {
    afficheFormulaire();
    }
  }

function afficheFormulaire($erreur = null)
  {
  ?>
  <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <input type="hidden" name="envoi" value="ok">
    <textarea name="champTexte" cols="75" rows="10">
      <?=isset($_POST['champTexte']) ? $_POST['champTexte'] : "(n'oubliez pas de signer votre message!)";?>
    </textarea>
    <br>
    <?=$erreur == "pasDeMail" ? "<b>Vous devez choisir un mail</b>" : "Envoyer ce mail à " ;?>
    <select name="choixMail">
      <?=optionsChoixMail();?>
    </select>
    <input type="submit" name="Submit" value="Envoyer">
    </form>
  <?php
  }

>

function afficheFormulaire($erreur = null)
  {
  ?>
  <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <input type="hidden" name="envoi" value="ok">
    <textarea name="champTexte" cols="75" rows="10">
      <?=isset($_POST['champTexte']) ? $_POST['champTexte'] : "(n'oubliez pas de signer votre message!)";?>
    </textarea>
    <br>
    <?=$erreur == "pasDeMail" ? "<b>Vous devez choisir un mail</b>" : "Envoyer ce mail à " ;?>
    <select name="choixMail">
      <?=optionsChoixMail();?>
    </select>
    <input type="submit" name="Submit" value="Envoyer">
    </form>
  <?php
  }
  
  function optionsChoixMail()
  {
  global $listeDesMails;
  $i = 0;

  ?><option value="<?=$i;?>" selected>Choisissez un destinataire...</option><?
  echo "\n";
  foreach ($listeDesMails as $prenom => $adresseMail)
    {
    ?><option value="<?=++$i;?>"><?=$prenom;?></option><?
    echo "\n";
    }
  ?>
  <option value="<?=++$i;?>">Tout le monde</option><?
  echo "\n";
  }

function definitionAdresse()
  {
  global $listeDesMails;
  $i=0;

  foreach ($listeDesMails as $prenom => $adresseMail)
    {
    ++$i;
    if ($_POST['choixMail'] == $i)
      {
      envoiMail($prenom, $adresseMail);
      }
    }

  if ($_POST['choixMail'] == count($listeDesMails)+1)
    {
    envoiMail("tout le monde", join(', ',$listeDesMails));
    }
  }

function envoiMail($nomContact, $adresse)
  {
  if (@mail($adresse, "Mail depuis le formulaire de contact", $_POST['champTexte']))
    {
    ?>
    Votre mail a bien été envoyé à <?=$nomContact;?> (<?=$adresse;?>).
    <?
    }
  else
    {
    ?>Suite à une erreur, votre mail n'a pu être envoyé. Veuillez recommencer.<?
    }
  ?><br>Voici le contenu du mail: <br><?=$_POST['champTexte'];?><?
  }

<


2eme question...

Dans ce tuto il ne parle pas de mettre quelque part l'adresse de l'expéditeur... dois-je la mettre quelque part ou c'est pas utile??

Merci @ tous

le tuto vient d'ici : http://www.journaldunet.com/developpeur/tutoriel/php/031114php_multimail1a.shtml
A voir également:

4 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
28 sept. 2009 à 19:10
bonsoir,
en répondanrt bêtement à la question posée où est l'erreur : elle est à la ligne 71

plus raisonnablement quelle est la ligne 71 dans votre code : mettezla en gras ça sera plus sympa
0
hawaien88 Messages postés 49 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 13 mai 2012 424
29 sept. 2009 à 20:48
Désolé de répondre si tard, je n'ai pas pus me connecter hier trop de taf... merci à toi de te préoccupé de mon problème...

Voici le script avec l'erreur indiqué par /////voici la ligne en erreur...

Enter temps j'ai trouvé une erreur de recopiage j'avais en double une partie du script... j'ai supprimé le doublon et l'erreur et maintenant ligne 74


<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">

<input type="hidden" name="envoi" value="ok">

<html>
<body>
<?=affichage();?>
</body>
</html>

$listeDesMails = array ( 
  "Mon mail" => "monmail@gmail.com",
  "Ton mail" => "monmail1@hotmail.com", 
  "Son mail" => "monmail2@free.fr",
  "Leur mail" => "monmail3@free.fr" );


<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
  <input type="hidden" name="envoi" value="ok">
    <textarea name="champTexte" cols="75" rows="10">
      (n'oubliez pas de signer votre message!)
    </textarea>
    <br>
    Envoyer ce mail à 
    <select name="choixMail">
      <option value="0" selected>Choisissez un destinataire...</option>
      <option value="1">Mon mail</option>
      <option value="2">Ton mail</option>
      <option value="3">Son mail</option>
      <option value="4">Leur mail</option>
      <option value="5">Tout le monde</option>
    </select>
  <input type="submit" name="Submit" value="Envoyer">
</form>

function affichage()
  {
  if (isset($_POST['envoi']) && ($_POST['envoi'] == "ok"))
    {
    if ($_POST['choixMail'] == 0)
      {
      afficheFormulaire("pasDeMail");
      } 
    else 
      {
      definitionAdresse();
      }
    }
  else
    {
    afficheFormulaire();
    }
  }                   /////voici la ligne en erreur...


>

function afficheFormulaire($erreur = null)
  {
  ?>
  <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <input type="hidden" name="envoi" value="ok">
    <textarea name="champTexte" cols="75" rows="10">
      <?=isset($_POST['champTexte']) ? $_POST['champTexte'] : "(n'oubliez pas de signer votre message!)";?>
    </textarea>
    <br>
    <?=$erreur == "pasDeMail" ? "<b>Vous devez choisir un mail</b>" : "Envoyer ce mail à " ;?>
    <select name="choixMail">
      <?=optionsChoixMail();?>
    </select>
    <input type="submit" name="Submit" value="Envoyer">
    </form>
  <?php
  }
  
  function optionsChoixMail()
  {
  global $listeDesMails;
  $i = 0;

  ?><option value="<?=$i;?>" selected>Choisissez un destinataire...</option><?
  echo "\n";
  foreach ($listeDesMails as $prenom => $adresseMail)
    {
    ?><option value="<?=++$i;?>"><?=$prenom;?></option><?
    echo "\n";
    }
  ?>
  <option value="<?=++$i;?>">Tout le monde</option><?
  echo "\n";
  }

function definitionAdresse()
  {
  global $listeDesMails;
  $i=0;

  foreach ($listeDesMails as $prenom => $adresseMail)
    {
    ++$i;
    if ($_POST['choixMail'] == $i)
      {
      envoiMail($prenom, $adresseMail);
      }
    }

  if ($_POST['choixMail'] == count($listeDesMails)+1)
    {
    envoiMail("tout le monde", join(', ',$listeDesMails));
    }
  }

function envoiMail($nomContact, $adresse)
  {
  if (@mail($adresse, "Mail depuis le formulaire de contact", $_POST['champTexte']))
    {
    ?>
    Votre mail a bien été envoyé à <?=$nomContact;?> (<?=$adresse;?>).
    <?
    }
  else
    {
    ?>Suite à une erreur, votre mail n'a pu être envoyé. Veuillez recommencer.<?
    }
  ?><br>Voici le contenu du mail: <br><?=$_POST['champTexte'];?><?
  }

<





l'erreur que la page me retourne est :

Parse error: syntax error, unexpected '}' in /mnt/128/sdb/1/2/hawaien88/contact.php on line 74

Merci @ tous encore.
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
1 oct. 2009 à 19:14
bonsoir
il manuqe un }
0
hawaien88 Messages postés 49 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 13 mai 2012 424
5 févr. 2012 à 16:50
A l'époque je n'ai pas répondu et avec le temps je ne sais plus si j'ai résolu mon problème ou si j'ai changé de script lol.

Donc je balance celui-ci en résolu afin de ne pas laisser un topic ouvert inutilement.

Merci à tous les participants de l'époque... :-S
0