[Résolu] Petite question sur un formulaire en php

Petit nouveau ! | 3 Messages

25 avr. 2009, 22:39

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 problème (vous allez me dire c'est facile ^^)

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
<? session_start(); //ouverture la session pour conserver le captcha
if (!isset($_POST["action"])) $_POST["action"]="";
if (!isset($_POST["nom"])) $_POST["nom"]=""; //déclaration de chaque élément de formulaire
if (!isset($_POST["prenom"])) $_POST["prenom"]="";
if (!isset($_POST["email"])) $_POST["email"]="";
if (!isset($_POST["telephone"])) $_POST["telephone"]="";
if (!isset($_POST["captcha"])) $_POST["captcha"]="";
$msg="";
$flag=1;
// CI-DESSOUS remplacez l'adresse ($destinataire="[email protected]";) par la vôtre
if ($_POST["action"]=="Envoyer" && $_POST["email"]!="" && strtolower($_POST["captcha"])==$_SESSION["phrase"]){
	$destinataire="[email protected]"; //mettez ici votre adresse e-mail 
	$objet="Formulaire de contact"; // titre du mail automatique
	$message_envoi="Vous avez reçu une demande de contact ! \n";
	$message_envoi.="Voici le contenu : \n"; //déclaration du contenu du message
	$message_envoi.="Nom du contact :".$_POST["nom"]." \n";
	$message_envoi.="Prénom du contact :".$_POST["prenom"]." \n";
	$message_envoi.="E-mail du contact :".$_POST["email"]." \n";
	$message_envoi.="Site web :".$_POST["url"]." \n";
	$message_envoi.="téléphone :".$_POST["telephone"]." \n\n"; //rajouter apres cette ligne les autres éléments du formulaire
	
	mail($destinataire,$objet,$message_envoi); // envoi du message
	
	$flag=0; //si tout est OK, on passe cette variable à 1
}
else{
	$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>";
}

// début de la gestion de l'affichage du captcha
$monfichier=fopen("captcha.txt","r");
$i=0;
while(!feof($monfichier)){
	$montab[$i]=fgets($monfichier,4096);
	$i++;
}
fclose($monfichier);
shuffle($montab);
$elem0=explode(";",$montab[0]);
$elem1=explode(";",$montab[1]);
$elem2=explode(";",$montab[2]);
$elem3=explode(";",$montab[3]);
$elem4=explode(";",$montab[4]);
$phrase=$elem0[0].$elem1[0].$elem2[0].$elem3[0].$elem4[0];
$_SESSION["phrase"]=$phrase; 
$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>";
//fin de la gestion du captcha
?>
et voici la partie concerné en html

Code : Tout sélectionner

<p><label>Vous êtes (choix exclusif) <span class="asterisque">*</span> : </label> <input type="radio" name="type" value="<?php echo $_POST["particulier"] ?>" />Un particulier souhaitant une information<br /><br /> <label>&nbsp;</label> <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
Modifié en dernier par Phantom Lord le 26 avr. 2009, 11:41, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 avr. 2009, 22:58

Comme pour les autres éléments du formulaire : $_POST['type'] contient la valeur de l'attribut value du bouton radio qui a été sélectionné. Il te suffit donc de la récupérer et d'en faire ce que tu veux :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

26 avr. 2009, 10:20

bonjour,
merci de votre réponse, mais quand je fais
$message_envoi.="Type :".$_POST["type"]." \n";
dans le mail il est bien marqué Type : mais la valeur n'est pas prélevée, c'est vide

ViPHP
ViPHP | 1136 Messages

26 avr. 2009, 11:04

Salut ,

Si c'est vide , dans ce cas es tu certains des valeurs de

$_POST["particulier"]
$_POST["professionnel"]

D'ailleurs celà m'étonne de voir des valeurs POST dans un formulaire à valider ...

Car s'ils sont vides .... à la validation de ton formulaire , tu récupères un POST vide ..

Remplace $_POST["particulier"] et $_POST["professionnel"] par des valeurs en dure

"particulier" et "proffessionel" .. et re-test

Ch.

Petit nouveau ! | 3 Messages

26 avr. 2009, 11:41

Oh merci beaucoup c'était si simple que ça (mais que j'ai pas trouvé par moi même)

Merci pour ton aide, j'ai passé toute la journée à adapter un code, mais en faite pour une fois il fallait pas faire comme les autre cases

merci beaucoup