J'ai fais un formulaire (Date : Année - Mois - Jours ( Une liste déroulante pour chaque ), le Nom ( Liste déroulante, appel à la DB ) et un Commentaire en textarea puis un bouton Envoyer.
J'ai trois pages, une fonction.php, ma page "index" Demande RDV.php et la page resultat.php
Mon problème :
Affichage de la page : Année : Mois : L'utilisateur choisit l'année qu'il veut pour sa demande de RDV, par exemple "2012". La page se recharge et garde en sélection l'option choisie. Il choisit ensuite le mois, par exemple "2" (Février). Les jours s'affichent et sont calculés par rapport aux mois et à l'année. Donc pour 2012, 29 jours en Février.
Mais, je bloque au niveau du bouton Envoyer...
Voici la partie du code pour les dates (Si ça peut aider quelqu'un, entièrement PHP.) :
<?php
//recup valeur postée ou init à vide
$annee=isset($_POST['annee'])? $_POST['annee'] : "";
$mois=isset($_POST['mois'])? $_POST['mois'] : "";
if(isset($_POST['envoyer']))
{
//le formulaire complet a été posté (bouton envoyer cliqué)
//recup des valeurs
$jour=$_POST['jour'];
$mois=$_POST['mois'];
$annee=$_POST['annee'];
//on peut faire le traitement du formulaire
//exemple
//echo 'Vous avez choisi le : '.$jour.'-'.$mois.'-'.$annee;
}
?>
<body>
<form name="form1" method="post" action="">
Année:
<select name="annee" onchange="submit();" >
<?php
//cette premiere ligne d'option est obligatoire si on veut un changement à chaque fois, sinon on ne pourrait pas choisir 2012
//premiere ligne d'option
$option1='<option value=""';
if($annee=="") $option1.= " selected"; // Pour garder la selection au réaffichage de la page
$option1.= '> -- Choisissez --</option>';
echo $option1;
//lignes suivantes
for($a=2012;$a<=2020;$a++)
{
$option='<option value="'.$a.'"';
if($annee==$a) $option.= " selected"; // Pour garder la selection au réaffichage de la page
$option.= '>'.$a.'</option>';
echo $option;
}
?>
</select>
Mois:
<select name="mois" onchange="submit();">
<?php
$option1='<option value=""';
if($mois=="") $option1.= " selected";//ça c'est pour garder la selection au réaffichage de la page
$option1.= '> -- Choisissez --</option>';
echo $option1;
for($m=1;$m<=12;$m++)
{
$option='<option value="'.$m.'"';
if($mois==$m) $option.= " selected"; //ça c'est pour garder la selection au réaffichage de la page
$option.= '>'.$m.'</option>';
echo $option;
}
?>
</select>
<?php
//on ne va afficher les jours que si les deux autres on ete choisis
if($annee != "" && $mois != "")
{
echo 'Jour:';
echo '<select name="jour">';
// premiere ligne
$option1='<option value=""';
if($jour=="") $option1.= " selected"; // Pour garder la selection au réaffichage de la page
$option1.= '> -- Choisissez --</option>';
echo $option1;
//gestion du nombre de jours dans le mois
$mois_annee = mktime( 0, 0, 0, $mois, 1, $annee );
setlocale('LC_ALL', 'fr_FR');
$nombreDeJours = intval(date("t",$mois_annee));
//lignes suivantes
for($j=1;$j<=$nombreDeJours;$j++)
{
$option='<option value="'.$j.'"';
if($jour==$j) $option.= " selected"; //Pour garder la selection au réaffichage de la page
$option.= '>'.$j.'</option>';
echo $option;
}
echo '</select>';
}
?>
Puis enfin, pour le bouton envoyer je n'ai que :
<input name="envoyer" type="submit" value="Envoyer" /> Que j'ai essayé de mettre un action="resultat.php" dedans, en mettant un autre <form ... , en mettant resultat.php dans le action=""> en haut (vers le code php) mais du coup je choisi l'année, ça m'envoie sur resultat.php.. Enfin, des prises de têtes, je m'embrouille un peu. Si quelqu'un peut m'éclairer s'il vous plaît
Edit: j'ai essayé
<?php $envoie = '<form action="resultat.php" method="post">'.
'<input type="submit" value="Envoyer" />'.
'</form>';
echo $envoie;
?>
Mais ça ne donne rien non plus...