Case à cocher php (limiter les choix)

Résolu/Fermé
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015 - 16 août 2011 à 14:31
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015 - 17 août 2011 à 14:26
Bonjour,

Je suis actuellement en train de coder un formulaire en php dans lequel on y trouve des cases à cocher.

J'aimerais savoir comment limiter le nombre de choix de réponse. Par exemple si l'utilisateur coche plus d'une case, un message d'erreur s'affiche.

Voici un bout de code :

<p>Choisir</p>
<p>1 <input type="checkbox" name="reponse[]" value="1">
2 <input type="checkbox" name="reponse[]" value="2">
3 <input type="checkbox" name="reponse[]" value="3"></p>

<input type="submit" value="valider" name="ok"><br/>

<?php
	if (isset($_POST['ok']))
	{
                //variable de message à vide
		$msg = '';
		
		if(isset($_POST['reponse']))
		{
			echo '<p>Votre choix : </p>';
			foreach ($_POST['reponse'] as $choix)
			{
				echo $choix.'<br/>';
			}
		}
		else
		{
		 echo 'Veuillez faire un choix';
		}
	}
?>


Merci de bien vouloir m'aider.

Kat999.
A voir également:

2 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
16 août 2011 à 15:42
Bonjour,

CITE : si l'utilisateur coche plus d'une case...

ya pas besoin d'un code javascript. Suffit d'utiliser des boutons radio:

<form method="POST" action="index.php">
1 <input type="radio" name="reponse" value="1">
2 <input type="radio" name="reponse" value="2">
3 <input type="radio" name="reponse" value="3"></p>

<input type="submit" value="valider" name="ok"><br/>
</form>

A+
3
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 août 2011 à 15:51
Bonjour,

Oui, les boutons radios sont utiles pour un choix unique, mais j'aurais dû préciser dans mon message que je souhaitais limiter le nombre de case à cocher à 2 choix.

Merci quand même.
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
Modifié par holow1 le 16/08/2011 à 15:55
le problème pas encore resole. ??
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 16/08/2011 à 16:09
Et ceci alors?

<form method="POST" action="index.php">
1 <input type="checkbox" name="reponse[]" value="1">
2 <input type="checkbox" name="reponse[]" value="2">
3 <input type="checkbox" name="reponse[]" value="3"></p>

<input type="submit" value="valider" name="ok"><br/>
</form>

<?php
if (isset($_POST['ok'] && count($_POST[reponse]<=2))) {
echo ("la nombre est ".count($_POST['reponse']));

if(isset($_POST['reponse']))
{
echo '<p>Votre choix : </p>';
foreach ($_POST['reponse'] as $choix)
{
echo $choix.'<br/>';
}
}
else
{
echo 'Veuillez faire un choix';
}
}
?>
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 août 2011 à 16:43
Merci merci !

Il était résolu mais j'ai oublié de clore le sujet.
Merci encore !

@ la prochaine ! ;)

Kat.999
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
17 août 2011 à 11:16
J'aurais encore une petite question mais cette fois ci en rapport avec les boutons radios. Quand je ne fais aucun choix et que je valide le formulaire, j'ai ce message d'erreur "Undefined index".

Voici mon code :

<p><form method="POST" action="">
1 <input type="radio" name="reponse" value="1">
2 <input type="radio" name="reponse" value="2">
3 <input type="radio" name="reponse" value="3"></p>

<input type="submit" value="valider" name="ok"><br/>
</form> 

<?php
	if (isset($_POST['ok']))
	{
		$reponse = $_POST["reponse"];
		
		if(empty($reponse))
			echo 'Faites un choix';
		else
			echo 'Votre choix est : '.$reponse;
	}
?>


Merci d'avance !

Kata ;)
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
16 août 2011 à 14:48
bonjour;


<html>
<body>
<p>Choisir</p>
<p>
<form method="POST" action="index.php">
1 <input type="checkbox" name="reponse[]" value="1">
2 <input type="checkbox" name="reponse[]" value="2">
3 <input type="checkbox" name="reponse[]" value="3"></p>

<input type="submit" value="valider" name="ok"><br/>
</form>

<?php

	if (isset($_POST['ok']))
	{
                //variable de message à vide
		$msg = '';
		
echo ("la nombre est ".count($_POST['reponse']));
		
		if(isset($_POST['reponse']))
		{
			echo '<p>Votre choix : </p>';
			foreach ($_POST['reponse'] as $choix)
			{
				echo $choix.'<br/>';
			}
		}
		else
		{
		 echo 'Veuillez faire un choix';
		}
	}
?>
</body>
</html>
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 août 2011 à 15:08
Oooh merci ! Quand je pense que j'étais en train de me prendre la tête avec des boucles !
Mais est-ce que ce code n'est pas trop ancien ? Est-il encore utilisé ?

Merci encore !
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
Modifié par holow1 le 16/08/2011 à 15:45
code ancien ? j'ai pas comprit ?
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 août 2011 à 15:51
Je me demandais si COUNT était encore utilisé, car il s'agit d'un nouveau code pour moi.
0