Case à cocher php (limiter les choix)

Résolu
katarina999 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -  
katarina999 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -
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.

2 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   71
 
le problème pas encore resole. ??
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   71
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   71
 
code ancien ? j'ai pas comprit ?
0
katarina999 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention  
 
Je me demandais si COUNT était encore utilisé, car il s'agit d'un nouveau code pour moi.
0