Bonjour,
J'ai un soucis pour récupérer les valeurs de mon while dans une autre page, en fait lors de l'envoi d'un email -> il ne me récupère que la dernière valeur:
j'ai un formulaire d'inscription à des formations (form "envoyer"), si le formulaire à correctement été rempli, il ouvre une div par dessus ou il affiche bien toutes les valeurs correctes.
Mon problème est que lorsque je click sur le bouton submit du formulaire de la page de confirmation (form "senddata") il envoie le mail mais avec la dernière formation...
Voici le code de la div:
Code : Tout sélectionner
<?php
if ((isset($_POST['envoyer'])) || (isset($_POST['senddata'])))
{
//data formulaire
//gère les formations ++ retrouve les données :D
$select;
$f = $_POST['mon_champ'];
echo "<h2>Vous avez choisi : </h2>";
if((isset($_POST['idf'])) &&(isset($_POST['formid']))){
$idf = ""; echo "idf: " .$idf;}
foreach($f as $value)
{
if(isset($_POST['idf'])){
$idf = $_POST['idf'];
echo $idf;
}
if(isset($_POST['Hrs'])){
$Hrs = $_POST['Hrs'];
if($Hrs=="on"){
$Hs = " en soirée";}
}
if(isset($_POST['Hrw'])){
$Hrw = $_POST['Hrw'];
if($Hrw=="on"){ $Hs = "le week-end";}
}
if (isset($_POST['Hrj'])) {
$Hrj = $_POST['Hrj'];
if($Hrj=="on"){ $Hs = "en journée";}
}
$select = explode("_",$value) ;
$hidden = explode("_",$value);
//valuelist en $_post
if(isset($_POST[$select[0]])){
$Hs = $_POST[$select[0]];
}
?>
<div style="display: block; ">
<?php
//$_post hidden checkbox
if(isset($_POST[$hidden[1]])){
echo "<h4>hidden files ".$hidden[0].' - horaire: '.$Hs.'</h4>';}
echo "<h4>".$select[1].' - Horaire '.$Hs.'</h4>';
//convert string and recup number subformation:D
$id = intval($select[0]);
//echo $id;
$Hid = intval($hidden[0]);
//echo $Hid;
if($Hs=="en journée"){//echo "-jour-";
$request="SELECT inf_horaire,inf_datedu,inf_dateau,inf_price,sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$id."'";
}
if(isset($_POST[$hidden[0]])) //hidden files
{
//echo "-hidden soir-";
$request="SELECT inf_horairesoir,inf_datedusoir,inf_dateausoir,inf_pricesoir, sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$Hid."'";
}
else //select
{
if($Hs=="en soirée"){//echo "-soir-";
$request="SELECT inf_horairesoir,inf_datedusoir,inf_dateausoir,inf_pricesoir, sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$id."'";
}
}
if($Hs=="le week-end"){ //echo "-we-";
$request="SELECT inf_horairewe,inf_dateduwe,inf_dateauwe,inf_pricewe, sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$id."'";
}
$query = mysql_query($request);
//while date du au
while($row = mysql_fetch_row($query))
{
$datedu = explode(" ", $row[1]);
$dateau = explode(" ", $row[2]);
$horaire = $row[0];
$price = $row[3];
$subname = $row[4];
$datedu = $row[1];
$dateau = $row[2];
$dateduFR = $datedu[8].$datedu[9].$datedu[7].$datedu[5].$datedu[6].$datedu[4].$datedu[0].$datedu[1].$datedu[2].$datedu[3];
$dateauFR = $dateau[8].$dateau[9].$dateau[7].$dateau[5].$dateau[6].$dateau[4].$dateau[0].$dateau[1].$dateau[2].$dateau[3];
echo " Date du " .$dateduFR ." au " .$dateauFR . " Tous les " .$row[0] ."<br />";
$infofo = "<p style='width: 100%; white-space: now-wrap;'>
<div style='color: #000; font-size: 105%; text-decoration: underline;'>".$select[1]."</div><br />
Horaire: Tout les " .$horaire ." <br />
Période du " .$dateduFR ." au ".$dateauFR ."<br />
Prix de la formation: " .$price .' €'."<br /></p>
<hr style='margin-bottom:2px; border: 1px solid #836D56;'/>";
echo $infofo;
$infofo .="</div>";
echo '<input type="hidden" name="infofo" value="'.$infofo.'"/>';
}
//end while date du au
}
//end foreach
}
?>
et ensuite celui de la page d'inscription (celle qui check le formulaire et envoi l'email):
Code : Tout sélectionner
if(isset($_POST['senddata']))
{
//search user
//include "inc/searchuser.inc.php";
//send email for bpsa
$destinataire = "[email protected]";
$expediteur = $_POST['mail'];
$reponse = $expediteur;
$infofo = $_POST['infofo'];
$contenu_message0 = "Formation reservée: \t";
echo "Envoi d'un mail à $destinataire";
$codehtml=
"<html><head><title>Réservation pour formations</title>
<style type='text/css'>
body{font-family: arial, verdana; font-size: 12px; color: #000; width: 100%; }
</style>
</head><body>
<table style='width: 95%; border-collapse: collapse; text-color: 000; border: 1px solid #836D56;'>
<tr>
<td bgcolor='#836D56' style='color: white; padding: 5px; '>".$contenu_message0 ."</td></tr>
<tr>
<td>".$infofo."</td>
</tr><tr>
<td bgcolor='#836D56' style='color: white; padding: 5px; width: 100%; '><b>Coordonnées de la personne réservant la formation</b></td>
</tr><tr>
<td style='color: #000; padding: 5px; line-height: 22px; '>
<b>Nom, prénom: </b>".$_POST["nom"]." ".$_POST["prenom"]."<br />
<b>Adresse: </b>".$_POST["adresse"]."<br />
<b>CP / Ville: </b>".$_POST["cp"]." ".$_POST["ville"]."<br />
<b>Mail :</b> <a href='mailto:".$_POST["mail"]."'>".$_POST["mail"]."</a><br />
<b>Tél / Gsm : </b>".$_POST["tel"]."<br />
<b>Date et lieu de naissance : </b>".$_POST["dateLieuxNaiss"]."<br />
<b>Profession / Diplôme:</b> ".$_POST["profession"]."<br />
<b>Indication médicale: </b>".$_POST["indicmed"]."<br />
<b>Coordonnées personne de contact:</b> ".$_POST["persContact"].' - '.$_POST["persContact1"]."</td></tr></table>
</body></html>";
mail($destinataire,
$contenu_message0,
$codehtml,
"From: $expediteur\r\n".
"Reply-To: $reponse\r\n".
"Content-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
?>
si quelqu'un saurait se pencher un peu sur ce code, je n'arrive plus à y voir clair...jusqu'a ne plus rien y comprendre...
Merci
Bonjour,
J'ai un soucis pour récupérer les valeurs de mon while dans une autre page, en fait lors de l'envoi d'un email -> il ne me récupère que la dernière valeur:
j'ai un formulaire d'inscription à des formations (form "envoyer"), si le formulaire à correctement été rempli, il ouvre une div par dessus ou il affiche bien toutes les valeurs correctes.
Mon problème est que lorsque je click sur le bouton submit du formulaire de la page de confirmation (form "senddata") il envoie le mail mais avec la dernière formation...
Voici le code de la div:
[code]
<?php
if ((isset($_POST['envoyer'])) || (isset($_POST['senddata'])))
{
//data formulaire
//gère les formations ++ retrouve les données :D
$select;
$f = $_POST['mon_champ'];
echo "<h2>Vous avez choisi : </h2>";
if((isset($_POST['idf'])) &&(isset($_POST['formid']))){
$idf = ""; echo "idf: " .$idf;}
foreach($f as $value)
{
if(isset($_POST['idf'])){
$idf = $_POST['idf'];
echo $idf;
}
if(isset($_POST['Hrs'])){
$Hrs = $_POST['Hrs'];
if($Hrs=="on"){
$Hs = " en soirée";}
}
if(isset($_POST['Hrw'])){
$Hrw = $_POST['Hrw'];
if($Hrw=="on"){ $Hs = "le week-end";}
}
if (isset($_POST['Hrj'])) {
$Hrj = $_POST['Hrj'];
if($Hrj=="on"){ $Hs = "en journée";}
}
$select = explode("_",$value) ;
$hidden = explode("_",$value);
//valuelist en $_post
if(isset($_POST[$select[0]])){
$Hs = $_POST[$select[0]];
}
?>
<div style="display: block; ">
<?php
//$_post hidden checkbox
if(isset($_POST[$hidden[1]])){
echo "<h4>hidden files ".$hidden[0].' - horaire: '.$Hs.'</h4>';}
echo "<h4>".$select[1].' - Horaire '.$Hs.'</h4>';
//convert string and recup number subformation:D
$id = intval($select[0]);
//echo $id;
$Hid = intval($hidden[0]);
//echo $Hid;
if($Hs=="en journée"){//echo "-jour-";
$request="SELECT inf_horaire,inf_datedu,inf_dateau,inf_price,sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$id."'";
}
if(isset($_POST[$hidden[0]])) //hidden files
{
//echo "-hidden soir-";
$request="SELECT inf_horairesoir,inf_datedusoir,inf_dateausoir,inf_pricesoir, sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$Hid."'";
}
else //select
{
if($Hs=="en soirée"){//echo "-soir-";
$request="SELECT inf_horairesoir,inf_datedusoir,inf_dateausoir,inf_pricesoir, sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$id."'";
}
}
if($Hs=="le week-end"){ //echo "-we-";
$request="SELECT inf_horairewe,inf_dateduwe,inf_dateauwe,inf_pricewe, sub_name FROM info_formation INNER JOIN form_category ON sub_id=inf_id WHERE sub_name ='".$select[1]."' AND sub_id ='".$id."'";
}
$query = mysql_query($request);
//while date du au
while($row = mysql_fetch_row($query))
{
$datedu = explode(" ", $row[1]);
$dateau = explode(" ", $row[2]);
$horaire = $row[0];
$price = $row[3];
$subname = $row[4];
$datedu = $row[1];
$dateau = $row[2];
$dateduFR = $datedu[8].$datedu[9].$datedu[7].$datedu[5].$datedu[6].$datedu[4].$datedu[0].$datedu[1].$datedu[2].$datedu[3];
$dateauFR = $dateau[8].$dateau[9].$dateau[7].$dateau[5].$dateau[6].$dateau[4].$dateau[0].$dateau[1].$dateau[2].$dateau[3];
echo " Date du " .$dateduFR ." au " .$dateauFR . " Tous les " .$row[0] ."<br />";
$infofo = "<p style='width: 100%; white-space: now-wrap;'>
<div style='color: #000; font-size: 105%; text-decoration: underline;'>".$select[1]."</div><br />
Horaire: Tout les " .$horaire ." <br />
Période du " .$dateduFR ." au ".$dateauFR ."<br />
Prix de la formation: " .$price .' €'."<br /></p>
<hr style='margin-bottom:2px; border: 1px solid #836D56;'/>";
echo $infofo;
$infofo .="</div>";
echo '<input type="hidden" name="infofo" value="'.$infofo.'"/>';
}
//end while date du au
}
//end foreach
}
?>[/code]
et ensuite celui de la page d'inscription (celle qui check le formulaire et envoi l'email):
[code]
if(isset($_POST['senddata']))
{
//search user
//include "inc/searchuser.inc.php";
//send email for bpsa
$destinataire = "
[email protected]";
$expediteur = $_POST['mail'];
$reponse = $expediteur;
$infofo = $_POST['infofo'];
$contenu_message0 = "Formation reservée: \t";
echo "Envoi d'un mail à $destinataire";
$codehtml=
"<html><head><title>Réservation pour formations</title>
<style type='text/css'>
body{font-family: arial, verdana; font-size: 12px; color: #000; width: 100%; }
</style>
</head><body>
<table style='width: 95%; border-collapse: collapse; text-color: 000; border: 1px solid #836D56;'>
<tr>
<td bgcolor='#836D56' style='color: white; padding: 5px; '>".$contenu_message0 ."</td></tr>
<tr>
<td>".$infofo."</td>
</tr><tr>
<td bgcolor='#836D56' style='color: white; padding: 5px; width: 100%; '><b>Coordonnées de la personne réservant la formation</b></td>
</tr><tr>
<td style='color: #000; padding: 5px; line-height: 22px; '>
<b>Nom, prénom: </b>".$_POST["nom"]." ".$_POST["prenom"]."<br />
<b>Adresse: </b>".$_POST["adresse"]."<br />
<b>CP / Ville: </b>".$_POST["cp"]." ".$_POST["ville"]."<br />
<b>Mail :</b> <a href='mailto:".$_POST["mail"]."'>".$_POST["mail"]."</a><br />
<b>Tél / Gsm : </b>".$_POST["tel"]."<br />
<b>Date et lieu de naissance : </b>".$_POST["dateLieuxNaiss"]."<br />
<b>Profession / Diplôme:</b> ".$_POST["profession"]."<br />
<b>Indication médicale: </b>".$_POST["indicmed"]."<br />
<b>Coordonnées personne de contact:</b> ".$_POST["persContact"].' - '.$_POST["persContact1"]."</td></tr></table>
</body></html>";
mail($destinataire,
$contenu_message0,
$codehtml,
"From: $expediteur\r\n".
"Reply-To: $reponse\r\n".
"Content-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
?>[/code]
si quelqu'un saurait se pencher un peu sur ce code, je n'arrive plus à y voir clair...jusqu'a ne plus rien y comprendre...
Merci