Résolu Petite question sur formulaire en php

Solutions (4)
Tags :
  • Radio
  • Programmation
|
Bonsoir à tous,
après une journée de recherche (je débute en php) je n'ai pas réussi à trouver la réponse à mon probleme;
voilà de quoi il s'agit :

j'ai téléchargé un formulaire basique et j'essaie de le modifier; jusqu'au là ça va mais le problème arrive quand je veux ajouter des "radio" à réponse unique, je ne sais pas comment modifier le php qui envoi les réponse par mail pour qu'il récolte la réponse.

voici le php

  1. <? session_start(); //ouverture la session pour conserver le captcha
  2. if (!isset($_POST["action"])) $_POST["action"]="";
  3. if (!isset($_POST["nom"])) $_POST["nom"]=""; //déclaration de chaque élément de formulaire
  4. if (!isset($_POST["prenom"])) $_POST["prenom"]="";
  5. if (!isset($_POST["email"])) $_POST["email"]="";
  6. if (!isset($_POST["telephone"])) $_POST["telephone"]="";
  7. if (!isset($_POST["captcha"])) $_POST["captcha"]="";
  8. $msg="";
  9. $flag=1;
  10. // CI-DESSOUS remplacez l'adresse ($destinataire="contact@votreadresse.com";) par la vôtre
  11. if ($_POST["action"]=="Envoyer" && $_POST["email"]!="" && strtolower($_POST["captcha"])==$_SESSION["phrase"]){
  12. $destinataire="xxxx@xxx.com"; //mettez ici votre adresse e-mail
  13. $objet="Formulaire de contact"; // titre du mail automatique
  14. $message_envoi="Vous avez reçu une demande de contact ! \n";
  15. $message_envoi.="Voici le contenu : \n"; //déclaration du contenu du message
  16. $message_envoi.="Nom du contact :".$_POST["nom"]." \n";
  17. $message_envoi.="Prénom du contact :".$_POST["prenom"]." \n";
  18. $message_envoi.="E-mail du contact :".$_POST["email"]." \n";
  19. $message_envoi.="Site web :".$_POST["url"]." \n";
  20. $message_envoi.="téléphone :".$_POST["telephone"]." \n\n"; //rajouter apres cette ligne les autres éléments du formulaire
  21.  
  22. mail($destinataire,$objet,$message_envoi); // envoi du message
  23.  
  24. $flag=0; //si tout est OK, on passe cette variable à 1
  25. }
  26. else{
  27. $msg="<span class='info'>Vous devez remplir tous les champs, portant un astérisque <span class='asterisque'>*</span>.</span> <span class='info-bis'>Merci</span>";
  28. }
  29.  
  30. // début de la gestion de l'affichage du captcha
  31. $monfichier=fopen("captcha.txt","r");
  32. $i=0;
  33. while(!feof($monfichier)){
  34. $montab[$i]=fgets($monfichier,4096);
  35. $i++;
  36. }
  37. fclose($monfichier);
  38. shuffle($montab);
  39. $elem0=explode(";",$montab[0]);
  40. $elem1=explode(";",$montab[1]);
  41. $elem2=explode(";",$montab[2]);
  42. $elem3=explode(";",$montab[3]);
  43. $elem4=explode(";",$montab[4]);
  44. $phrase=$elem0[0].$elem1[0].$elem2[0].$elem3[0].$elem4[0];
  45. $_SESSION["phrase"]=$phrase;
  46. $img="<span class='img'><img src='img_captcha/".$elem0[1]."' alt=''/><img src='img_captcha/".$elem1[1]."' alt=''/><img src='img_captcha/".$elem2[1]."' alt=''/><img src='img_captcha/".$elem3[1]."' alt=''/><img src='img_captcha/".$elem4[1]."' alt=''/></span>";
  47. //fin de la gestion du captcha
  48. ?>


et voici la partie html

  1. <p><label>Vous êtes (choix exclusif) <span class="asterisque">*</span> : </label>
  2. <input type="radio" name="type" value="<?php echo $_POST["particulier"] ?>" />Un particulier souhaitant une information<br /><br />
  3. <label> </label>
  4. <input type="radio" name="type" value="<?php echo $_POST["professionnel"] ?>" />Un professionnel intéressé à proposer<br /></p>


en gros la personne aura le choix entre particulier ou professionnel

pouvez vous m'aider svp.

merci d'avance de votre réponse
Contenus similaires
Meilleure solution
partage
|
Rebonjour,

tu n'as pas très bien compris se que j'ai voulu dire...
  1. if ($_POST['type'] == "particulier" ) { $valeur="cheked=true"; };
  2. if ($_POST['type'] == "professionnel" ) { $valeur="cheked=true"; };


$_POST['type'] aura la valeur que possède la radio

pour la radio professionnel: <input type="radio" VALUE="professionnel" name="type" />
pour la radio particulier: <input type="radio" VALUE="particiulier" name="type" />

Ces 2 input ne font qu'un seul $_POST puisque leur nom "name" est le même...
Si l'utilisateur sélectionne par exemple la radio professionnel, la réponse au post sera alors $_POST['type'] == "professionnel"
  • Commenter cette solution |
Score
0
òh
òi
|
merci beaucoup c'est OK ^^ ça marche

merci encore de ton aide
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour Allstar27 et merci pour ton aide, j'ai pu comprendre un peu mieux les fonctionnement;

voici ce que j'ai fait

  1. if (!isset($_POST["action"])) $_POST["action"]="";
  2. if (!isset($_POST["nom"])) $_POST["nom"]=""; //déclaration de chaque élément de formulaire
  3. if (!isset($_POST["prenom"])) $_POST["prenom"]="";
  4. if (!isset($_POST["email"])) $_POST["email"]="";
  5. if (!isset($_POST["telephone"])) $_POST["telephone"]="";
  6. if ($_POST['type'] == "particulier" ) { $valeur="cheked=true"; };
  7. if ($_POST['type'] == "professionnel" ) { $valeur="cheked=true"; };
  8. if (!isset($_POST["captcha"])) $_POST["captcha"]="";



mais pour cette partie

  1. if ($_POST["action"]=="Envoyer" && $_POST["email"]!="" && strtolower($_POST["captcha"])==$_SESSION["phrase"]){
  2. $destinataire="arian.noveir@gmail.com"; //mettez ici votre adresse e-mail
  3. $objet="Formulaire de contact Erivam"; // titre du mail automatique
  4. $message_envoi="Vous avez reçu une demande de contact ! \n";
  5. $message_envoi.="Voici le contenu : \n"; //déclaration du contenu du message
  6. $message_envoi.="Nom du contact :".$_POST["nom"]." \n";
  7. $message_envoi.="Prénom du contact :".$_POST["prenom"]." \n";
  8. $message_envoi.="E-mail du contact :".$_POST["email"]." \n";
  9. $message_envoi.="Site web :".$_POST["url"]." \n";
  10. $message_envoi.="téléphone :".$_POST["telephone"]." \n";
  11. $message_envoi.="Type :".$_POST["type"]." \n";


en faisant ce que j'ai fait le "Type :" me revient vide dans le mail

peut tu m'éclaircir sur le fonctionnement de cette partie stp

merci d'avance
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,

les input type "radio" sont les même que les autres input "text", "password"...
Il faut récupérer la valeur pour cela il suffit de faire:

  1. <input type="radio" name="le_nom" value="valeur_1" />
  2. <input type="radio" name="le_nom" value="valeur_2" />


Tant que le nom de l'input radio est le même il ne sera possible que de faire un seul choix...

Pour récupérer la valeur c'est $_POST['le_nom']

bonne continuation!

Edit: Pour cela
  1. <input type="radio" name="type" value="<?php echo $_POST["professionnel"] ?>" />Un professionnel intéressé à proposer


Tu dois au préalable faire un condition...
du genre if ($_POST['type'] == "professionnel") { $valeur="cheked=true"; }

Et dans l'input:

  1. <input type="radio" name="type" $valeur />


Donc si la valeur est égal à la valeur de l'input, il sera cheked (sélectionner)
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS