formulaire inscription array mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire inscription array mail

Re: formulaire inscription array mail

par xTG » 23 févr. 2012, 08:07

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.

Re: formulaire inscription array mail

par jptoco86 » 22 févr. 2012, 23:37

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

par xTG » 22 févr. 2012, 19:50

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

par moogli » 22 févr. 2012, 18:56

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

par jptoco86 » 22 févr. 2012, 18:31

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

par xTG » 22 févr. 2012, 18:26

Tu le reçois actuellement l'email ou non ?

Re: formulaire inscription array mail

par jptoco86 » 22 févr. 2012, 18:15

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

par xTG » 22 févr. 2012, 16:45

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.

formulaire inscription array mail

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

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!