Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2007, 12h47   #1
Futur Membre du Club
 
Étudiant
Inscription : septembre 2006
Messages : 78
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2006
Messages : 78
Points : 18
Points : 18
Par défaut Aide sur la Fonction ISSET

Bonjour à tous en ce dimanche midi !

JE DOIS PAS ETRE DANS LA BONNE SECTION JE CROIS... mil excuses


voila je vous explique mon problème.

Je suis en train de faire un questionnaire avec plusieurs réponses possible.
Les réponses sont sous la forme de bouton radio.

j'utilise la fonction isset pour verifier la valeur selectionner par l'utilisateur:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php 
(isset($_POST[question1]) == 0);  
if (($_POST[question1]) == $chiffre_reponse)
	{print '<div class="reponse"><br />Bien joué !<br />'.$justification.'</div><br />';}
			else 
			{
				if (($_POST[question1]) == 0) {print '';}
					else
						{print '<div class="mauvaise_rep"><br />'."Mauvaise réponse !".'</div>';}
			}
 ?>
Lorsque j'utilise ce code il n'y à pas de probléme cela fonctionne. Mais seulement quand la personnes a valider le formulaire.

Car tant qu'elle ne la pas validé j'ai toujours ce message d'erreur:


Code :
Notice: Undefined index: question1 in .....
A partir de la j'ai décidé de modifier le code en ajoutant isset

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php 
(isset($_POST[question1]) == 0);  
if (isset($_POST[question1]) == $chiffre_reponse)
	{print '<div class="reponse"><br />Bien joué !<br />'.$justification.'</div><br />';}
			else 
			{
				if (isset($_POST[question1]) == 0) {print '';}
					else
						{print '<div class="mauvaise_rep"><br />'."Mauvaise réponse !".'</div>';}
			}
 ?>
Et la plus de problème au chargement de la page !!!! seul problème c'est maintenant lorsque la personne valide quelque soit sa réponse il a toujours bon

Je ne sais pas si je suis clair mais si quelqu'un pourrait m'aider.

Par avance merci.
KOUTO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2007, 13h05   #2
Him
Membre régulier
 
Avatar de Him
 
Inscription : février 2006
Messages : 244
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 244
Points : 79
Points : 79
Envoyer un message via ICQ à Him
Salut !

Figures toi que tu es dans la bonne section

Pour ton problème, il faudrait qu'on puisse voir le code de ton formulaire.

Mais en toute logique pour récupérer un bouton radio :

<input type="radio" name="taille" value="22" /><input type="radio" name="taille" value="23" />

& pour le récupérer :

<?php
if (isset($_POST/GET['taille'])) {
?>

& ça marche. ( je met post/get ) car tout dépend de ton formulaire.
Him est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2007, 14h05   #3
Futur Membre du Club
 
Étudiant
Inscription : septembre 2006
Messages : 78
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2006
Messages : 78
Points : 18
Points : 18
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<tr>
<td><div class="question">
En quelle années la maladie d''Alzheimer à est-elle était découverte ?</div>
<?php 
$justification ="En 1906";
 
include "reponse.php"; /*correspond au code du dessus*/
?>
 
<br />
1891 : <input type="radio" name="question1"  value="1"  >
1901 : <input type="radio" name="question1"  value="2"  > 
1911 : <input type="radio" name="question1"  value="3"  > 
1921 : <input type="radio" name="question1"  value="4"  > 
</td>
</tr>
KOUTO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2007, 14h28   #4
Membre éprouvé
 
Inscription : novembre 2007
Messages : 453
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 453
Points : 436
Points : 436
N'as-tu pas oublie les guillemets ? :

Citation:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
						
<?php 
(isset($_POST["question1"]) == 0);  
if (($_POST["question1"]) == $chiffre_reponse)
	{print '<div class="reponse"><br />Bien joué !<br />'.$justification.'</div><br />';}
			else 
			{
				if (($_POST[question1]) == 0) {print '';}
					else
						{print '<div class="mauvaise_rep"><br />'."Mauvaise réponse !".'</div>';}
			}
 ?>
sachav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2007, 14h45   #5
Futur Membre du Club
 
Étudiant
Inscription : septembre 2006
Messages : 78
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2006
Messages : 78
Points : 18
Points : 18
non j'ai bien les guillemets. d'ailleurs lorsque je les enlèves c'est pire lol !!!


JE pense qu'il faut mettre isset a chaque fois et le probleme n'apparait plus. Mais apres le soucis et au niveaux du résultat.
KOUTO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 10h17   #6
Membre du Club
 
William RICHARD
Inscription : septembre 2007
Messages : 156
Détails du profil
Informations personnelles :
Nom : William RICHARD
Âge : 30
Localisation : France, Aube (Champagne Ardenne)

Informations forums :
Inscription : septembre 2007
Messages : 156
Points : 68
Points : 68
isset teste si la variable existe mais pas sa valeur.
donc quand tu fais
Code :
1
2
3
4
5
6
7
8
9
 
<?php
if (isset($_POST['blabla'])){
echo "vrai";
}
else{
echo "faux";
}
?>
tu crois tester si la variable est vrai ou faux alors que tu testes
si elle existe ou pas.Donc quand qlq un répond même faux, ça répond
vrai puisque la variable existe.

mieux vaux un truc genre :
Code :
1
2
3
4
5
6
7
8
 
$reponse = isset($_POST['blabla']) ? $_POST['blabla'] : '' ;
if ($reponse == $solution){
echo "vraix";
}
else{
echo "faux";
}
warwill est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h19.


 
 
 
 
Partenaires

Hébergement Web