plusieur formulaire au lieu d'un seul

Eléphanteau du PHP | 18 Messages

02 janv. 2016, 08:31

J'AI CRÉE CE FORMULAIRE POUR RÉCUPÉRER UNE DATE MAIS QUAND JE VALIDE J'AI UN SELECT POUR CHAQUE MOIS ET NON UN SEUL SI QUELQU'UN POUVAIT M'EXPLIQUER MERCI


<?php
class Calendar
{
	public function getMonths()
	{
		
	$months = array(1 
	=>'1','2','3','4','5','6','7',
	'8','9','10','11','12');
	
	return $months;	
		
	}	
		
		public function getDays($month_id)
		{
			
	if((isset($month_id)) AND (is_numeric($month_id)))
	
	{
		
		$nb_days = cal_days_in_month(CAL_GREGORIAN, $month_id, date('Y'));
		for ($i=1 ; $i <= $nb_days; $i++)
		{
			$day = $i;
			$month = $this->getMonths();
			$month_name = $month[$month_id];
			$year = date('Y');
			$date =  $year .'-' . $month_name . '-' .$i ;
		
			
				$days[] = $date;
			}	
			
			return $days;
			
			}
			
		}	
		
			
		
	}
	
	$calendar = new Calendar; //création de l'objet (instanciation)
	$months = $calendar ->getMonths(); 
	//var_dump ($months);
	
	foreach ($months as $month_id => $month)
	{
		
	$month_data = $calendar->getDays($month_id);	
	

?>
<form action="" method="post">
<?php
echo '<select name="date">';
foreach($month_data as $keys => $month)
{
echo '<option value="' .$keys.'">' .$month. '</option>';
}

echo '</select>';

?>
<p><input type="submit" name ="envoyer"/></p>
</form>
<?php
if(isset($_POST['date'])){
		
		$valeur = $month_data[$_POST['date']];
		echo $valeur;
		echo '</br>';
	}
}
?></body>
</html>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 janv. 2016, 11:59

J'AI CRÉE CE FORMULAIRE POUR RÉCUPÉRER UNE DATE MAIS QUAND JE VALIDE J'AI UN SELECT POUR CHAQUE MOIS ET NON UN SEUL SI QUELQU'UN POUVAIT M'EXPLIQUER MERCI
/!\ ATTENTION TU AS LA TOUCHE VERR.MAJ. QUI EST RESTÉE BLOQUÉE ET C'EST TRÈS MALPOLI SUR UN FORUM D'ÉCRIRE TOUT EN MAJUSCULE, C'EST COMME SI TU OUBLIAIS DE DIRE BONJOUR SUR UN NOUVEAU POST POUR DEMANDER DE L'AIDE 8-)


Et sinon, blague à part, fais un var_dump($_POST); pour voir ce que tu reçois comme info de ton formulaire et pouvoir débuguer
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 18 Messages

02 janv. 2016, 14:27

pardon pour les majuscules j'ignorais

Eléphanteau du PHP | 18 Messages

02 janv. 2016, 15:09

j'ai cette reponse

2016-1-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }

2016-2-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-3-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-4-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-5-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-6-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-7-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-8-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-9-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-10-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-11-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
2016-12-1
array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }

donc j'ai 12 repose et 12 formulaire

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 janv. 2016, 19:38

Moi ce dont j'ai l'impression, c'est que tu n'as qu'une seule réponse :

Code : Tout sélectionner

array(2) { ["date"]=> string(1) "0" ["envoyer"]=> string(7) "Envoyer" }
Mais que tu as mis ton var_dump() dans une boucle qui te l'affiche 12 fois
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 18 Messages

02 janv. 2016, 19:43

oui mais pourquoi ais je 12 formulaires

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 janv. 2016, 19:48

oui mais pourquoi ais je 12 formulaires
Bah parce que tu as mis la création de ton formulaire dans un foreach ($months) et que tu as 12 mois ?
Quand tout le reste a échoué, lisez le mode d'emploi...