Page 1 sur 1

formulaire inscription array mail

Posté : 22 févr. 2012, 16:36
par jptoco86
Bonjour,

Je suis en train de créer un formulaire d'inscription et j'aimerais que celui-ci puisse me parvenir par mail de manière structurée (quelque chose de lisible et compréhensible...).

Après plusieurs jours de recherche et plusieurs tentatives, je me tourne vers vous en espérant que vous puissiez m'apporter une solution....

Voici l'HTML:
<form method="post" action="sendemail.php" id="inscriptionForm">
  <fieldset>
      <label for="equipe">Nom de l'équipe:</label>
      <input type="text" name="equipe" id="equipe" />
      <label for="mailCapitaine">e-mail du capitaine:</label>
      <input type="text" name="mailCapitaine" id="mailCapitaine" />
  </fieldset>
     
  <fieldset>
  <legend>Choisissez une catégorie:</legend>
      <ul>
        <li><label for="folklore">Folklore: </label><input type="radio" id="folklore" name="categorie" value="folklore" /></li>
       
        <li><label for="vitesse">Vitesse: </label><input type="radio" id="vitesse" name="categorie" value="vitesse" /></li>
       
        <li><label for="mouvement">Mouvement de jeunesse: </label><input type="radio" id="mouvement" name="categorie" value="mouvement de jeunesse" /></li>
      </ul>
  </fieldset>
 
  <fieldset>
  <legend>Inscrivez les participants (6 min et 15 max):</legend>
      <ul>
        <li><input type="text" name="nom1" id="nom1" /></li>
        <li><input type="text" name="pre1" id="pre1" /></li>
        <li><input type="text" name="mail1" id="mail1" /></li>
      </ul>
      <ul>
        <li><input type="text" name="nom2" id="nom1" /></li>
        <li><input type="text" name="pre2" id="pre1" /></li>
        <li><input type="text" name="mail2" id="mail1" /></li>
      </ul>
      <ul>
        <li><input type="text" name="nom3" id="nom1" /></li>
        <li><input type="text" name="pre3" id="pre1" /></li>
        <li><input type="text" name="mail3" id="mail1" /></li>
      </ul>
  </fieldset>
 
  <input type="submit" name="submit" id="buttonsend" value="Send" />
</form>
Et voici ou j'en suis au niveau du PHP:
<?php
$mailto        = "[email protected]";
$equipe       = $_POST['equipe'];
echo 'nom de l équipe: ',$equipe;
$mailCapitaine  = $_POST['mailCapitaine'];
echo 'e-mail du capitaine: ',$mailCapitaine;   
$categorie     = $_POST['categorie'];
echo 'categorie: ',$categorie;

$part1 = array();
$part1["nom"]    = $_POST['nom1'];
$part1["prenom"] = $_POST['pre1'];
$part1["mail"]  = $_POST['mail1'];

$part2 = array();
$part2["nom"]    = $_POST['nom2'];
$part2["prenom"] = $_POST['pre2'];
$part2["mail"]  = $_POST['mail2'];

$part3 = array();
$part3["nom"]    = $_POST['nom3'];
$part3["prenom"] = $_POST['pre3'];
$part3["mail"]  = $_POST['mail3'];

   if(strlen($_POST['equipe']) < 1 ){
      echo  'email_error';
   }
   
  else if(strlen($mailCapitaine) < 1 ) {
      echo 'email_error';
   }

  else {
   $email_message="\n\n" .
      
      $equipe .
      "\n" .
      $mailCapitaine .
      "\n" .
      $categorie .
      "\n" .
      $part1 .
      "\n" .
      $part2 .
      "\n" .      
      $part3 .
      "\n" .
      "\n\n" ;

      $email_message = trim(stripslashes($email_message));
      mail($mailto, $email_message, "From: \"$vname\" <".$mailCapitaine.">\nReply-To: \"".$equipe."\" <".$mailCapitaine.">\nX-Mailer: PHP/" . phpversion() );
  }
?>
D'avance, je vous remercie pour l'aide que vous m'apporterez!

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 16:45
par xTG
Pourquoi stocker dans un array et ensuite vouloir l'afficher ?
Autant afficher directement les valeurs.
D'autant plus que dans ton mail tu dois juste avoir la mention "Array" actuellement. ;)

Sinon si tu veux structurer saches qu'on peut envoyer des mails en format HTML, voir la doc de la fonction mail() qui contient des exemples.

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 18:15
par jptoco86
Merci pour votre réponse!

Ce que je voudrais, c'est que les gens puissent remplir le formulaire à partir du site et lorsqu'il clique sur "envoyer", je reçoive celui-ci dans ma boite mail.

Je n'ai pas trouvé d'exemple qui se rapproche assez de mon cas dans la doc de la fonction mail()...

Je ne sais plus trop vers quoi me diriger...

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 18:26
par xTG
Tu le reçois actuellement l'email ou non ?

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 18:31
par jptoco86
Oui, je le reçois mais comme tu l'as dit, ce qu'il y a dans l'array ne s'affiche pas et l'email n'est pas très lisible (tout s'affiche sur une ligne).

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 18:56
par moogli
Un tableau n'est pas fait pour être afficher ainsi. Il faut afficher les élément un par un.

Donc plutôt que de remplir le tableau en haut créer la chaîne de caractère directement afin de la mettre dans le corps de mail.

@+

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 19:50
par xTG
Commences déjà par faire en sorte de recevoir le mail avec toutes les infos correctement au lieu de "Array".
Ensuite tu pourras t'attaquer à une mise en page HTML : http://fr2.php.net/manual/fr/function.mail.php (lire l'exemple 4)

Re: formulaire inscription array mail

Posté : 22 févr. 2012, 23:37
par jptoco86
Merci beaucoup,

J'avais bien vu l'exemple 4 mais je ne comprends pas comment les gens vont pouvoir remplir le tableau étant donné qu'il est dans le fichier php...

Re: formulaire inscription array mail

Posté : 23 févr. 2012, 08:07
par xTG
Le PHP ne fait que générer du HTML.
Donc un fichier PHP peut générer une page HTML contenant un formulaire.
Un fichier PHP peut générer un mail de type HTML.

Il semble que tu ne comprennes pas tout de ton code, je me trompe ?
Tu es bien conscient que tu récupères les informations rentrées dans le formulaire par l'utilisateur ?
Et que ces informations tu les transmets par email (si l'on oublie la mauvaise écriture des trois array).

Bref s'il y a un tableau de mise en page à remplir ce ne sont pas les utilisateurs qui vont le faire mais ton code en récupérant leurs informations.