Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1573 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  formulaire avec checbox vers e-mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

formulaire avec checbox vers e-mail

n°1537254
crouik
Posté le 02-04-2007 à 12:18:52  profilanswer
 

Bonjour,
 
j'étudie un peu la réalisation de formulaire simple en html de ce type: (c'est pour apprendre)
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta content="text/html; charset=UTF-8" http-equiv="content-type">
  5. <title>test</title>
  6. </head>
  7. <body>
  8. <form name="forml" method="post" action="test.php"><br>
  9. <input name="nom">nom<br>
  10. <input name="email">e-mail<br>
  11. <input name="objet[]" value="objet001" type="checkbox">objet001<br>
  12. <input name="objet[]" value="objet002" type="checkbox">objet002<br>
  13. <input name="objet[]" value="objet003" type="checkbox">objet003<br>
  14. <input name="objet[]" value="objet004" type="checkbox">objet004<br>
  15. <input name="objet[]" value="objet005" type="checkbox">objet005<br>
  16. <br>
  17. <input name="action" value="submitted" type="hidden">
  18. <input value="envoi" name="ok" type="submit"></form><br>
  19. </body>
  20. </html>


 
Il comporte comme vous l'aurez lu des « checbox »
La récupération des entrées j'aimerais la faire en php, vers une adresse e-mail.
Pour les champs classiques, (texte) pas de problème, j'ai trouvé ceci qui fonctionne. Par contre pour les checkbox ?  
C'est la première fois que je fais des essais avec php. J'ai cru comprendre que les checbox étaient lues comme des tableaux et qu'il faut mettre des [].
Si quelqu'un pouvait m'aiguiller sur cette partie de code afin que je comprenne un peu se serait sympa.
 
le code pour récupérer les entrées

Code :
  1. <?php
  2. if($_POST['action'] == 'submitted')
  3. {
  4. $adress = "xxxxxx@xxxxx.xx";
  5. $sujet = "test";
  6. $message = "Un formulaire à été envoyé :\n";
  7. $message .= "Nom: {$_POST['nom']}\n";
  8. $entete = "From: {$_POST['email']}\n";
  9. mail($adress, $sujet, $message, $entete);
  10. }
  11. ?>
  12. <html>
  13. <body>
  14. <div align="center">
  15. <p>Merci.</p>
  16. <p><a target="_top" href="test.html">Retour
  17. &agrave; la page "test"</a>.</p>
  18. </div>
  19. </body>
  20. </html>


 
(une simple entrée supplémentaire: $message .= "objet: {$_POST['odjet']}\n"; ne fonctionnant pas)
 
d'avance merci.

mood
Publicité
Posté le 02-04-2007 à 12:18:52  profilanswer
 

n°1537260
zecrazytux
Posté le 02-04-2007 à 12:33:21  profilanswer
 

alors je peu me tromepr ça fait longtemps que j'ai pas triffouiller du formulaire,
mais ça ne serai pas les radio qui sont des tableaux ?
et les checkbox, un nom différent pour chaque, et la valeur est true or false ?
c'est ce qui me parait le plus logique -_-


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1537262
Shinuza
This is unexecpected
Posté le 02-04-2007 à 12:37:53  profilanswer
 

Il suffit de faire un print_r de $_POST, tu verras toute la structure du tableau associé à la méthode en question.
Tu devrais avoir un tableau nommé objet, enfant direct de $_POST

 

Autre chose, teste

Code :
  1. $_SERVER['REQUEST_METHOD'] == 'POST'

plutôt que

Code :
  1. $_POST['action'] == 'submitted'
 

Du coup

Code :
  1. <input name="action" value="submitted" type="hidden">

ne sert plus à rien.


Message édité par Shinuza le 02-04-2007 à 12:38:13

---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1537592
crouik
Posté le 03-04-2007 à 01:01:40  profilanswer
 

merci pour les réponses,
 
en fait quand j'ajoute ceci:

Code :
  1. print_r ($_POST);


il renvoi ceci:

Code :
  1. Array ( [nom] => [email] => [objet] => Array ( [0] => objet001 [1] => objet003 [2] => objet005 ) [action] => submitted [ok] => envoi )


 
donc les checkbox fonctionnent si je lis bien. (j'avais coché la 1 & 2 & 3)
En plus j'ai modifié avec ceci: (comme proposé par shinuza)

Code :
  1. $_SERVER['REQUEST_METHOD'] == 'POST'


et ça fonctionne correctement. Par contre je ne comprend pas le tableau que je devrais avoir, c'est une simple ligne.
 
Mais j'ai lu sur un site qu'il était possible de récupérer aussi les infos des checkbox si elles étaient nommées (ce que zecrazytux dit aussi)
soit pour le formulaire:

Code :
  1. <input name="objet01" value="objet001" type="checkbox">objet001<br>
  2. <input name="objet02" value="objet002" type="checkbox">objet002<br>
  3. <input name="objet03" value="objet003" type="checkbox">objet003<br>
  4. <input name="objet04" value="objet004" type="checkbox">objet004<br>
  5. <input name="objet05" value="objet005" type="checkbox">objet005<br>


et pour le php:

Code :
  1. if($_POST["objet01"] != "" ){$message.= $_POST["objet01"]."\n";}
  2. if($_POST["objet02"] != "" ){$message.= $_POST["objet02"]."\n";}
  3. if($_POST["objet03"] != "" ){$message.= $_POST["objet03"]."\n";}
  4. if($_POST["objet04"] != "" ){$message.= $_POST["objet04"]."\n";}
  5. if($_POST["objet05"] != "" ){$message.= $_POST["objet05"]."\n";}


Par contre il faut nommer les chekbox. (pas de [ ] )
 
Je vais tester tout cela dans les jours qui viennent, j'ai pas trop eu le temps ce soir  :(  

n°1537715
Shinuza
This is unexecpected
Posté le 03-04-2007 à 11:35:18  profilanswer
 

Oui tu peux, mais autant utiliser le tableau et les propriétés qui en découlent.
 
Au lieu de  
 

Code :
  1. $var != ""


 
Utilise
 

Code :
  1. empty($var)


 
Soit $var la variable que tu veux tester.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  formulaire avec checbox vers e-mail

 

Sujets relatifs
expression regulière pour controle mailUn mail automatique pour tous lors d'un nouveau message?
Warning: mail() [function.mail]: Spam detecte[PHP] oscommerce - Login -> redirection et message d'accueil
Envoi maillister les fichiers d'un repertoire à partir d un formulaire html
Formulaire dynamique en panne !!perl et envoi de mail
Une image qui renvoit vers un site?????Problème redirection vers mms:// et IE
Plus de sujets relatifs à : formulaire avec checbox vers e-mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR