Les Allergies
Alimentaires
Posez votre question Signaler

Un problem de Chekbox [Résolu]

griko 329Messages postés 31 janvier 2009Date d'inscription 23 janvier 2011Dernière intervention - Dernière réponse le 17 juin 2009 à 13:05
Bonjour,
J'ai l'erreur suivante qui s'affiche:
Notice: Undefined index: charte in F:\Site PHP\EasyPHP 3.0\www\Cineco.fr\membre\ajcritique_film_membre.php on line 37

Voici mon code :
<?php if(isset($_POST['libelle_critique_film']) OR isset($_POST['note_critique_film']) AND isset($_POST['charte']))
	{
	$libelle_critique_film = $_POST['libelle_critique_film'];
	$note_critique_film = $_POST['note_critique_film'];
	$charte = $_POST['charte'];
	}
	if(!isset($libelle_critique_film) AND !isset($note_critique_film) AND !isset($charte)){
			echo'<form action="ajcritique_film_membre.php?film='.$id_info_film.'" method="post">';?>
				Quelle note donnez-vous &agrave; ce film ?&nbsp;<select name="note_critique_film">
					<option value=""><-- Choix --></option>
					<option value="5">5 &eacute;toiles</option>
					<option value="4">4 &eacute;toiles</option>
					<option value="3">3 &eacute;toiles</option>
					<option value="2">2 &eacute;toiles</option>
					<option value="1">1 &eacute;toile</option>
					<option value="0">0 &eacute;toile</option>
				</select><br/><br/>
				<TEXTAREA name="libelle_critique_film" value="" type="text" rows="10"  cols="40"></TEXTAREA><br/><br/>
				<input name="charte" value="1" type="checkbox"/>&nbsp;J'ai lu et j'accepte les termes de la <a href="../film/chartecritique.php" onclick="window.open(this.href, 'charte', 'height=650, width=700, top=5, left=5, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;">Chartre</a><br/><br/>
				<input type="submit" name="submit" value="Validez votre critique"/><br/><br/>
			</form>
		<h4 style="color:#FFFFFF; text-align: center;">* Ces champs, sont obligatoire.</h4>
<?php }else{
if (empty($libelle_critique_film) or empty($note_critique_film) or empty($charte))
			{
 echo'<form action="ajcritique_film_membre.php?film='.$id_info_film.'" method="post">';?>
				Quelle note donnez-vous &agrave; ce film ?&nbsp;<select name="note_critique_film">
					<option value=""><-- Choix --></option>
					<option value="5">5 &eacute;toiles</option>
					<option value="4">4 &eacute;toiles</option>
					<option value="3">3 &eacute;toiles</option>
					<option value="2">2 &eacute;toiles</option>
					<option value="1">1 &eacute;toile</option>
					<option value="0">0 &eacute;toile</option>
				</select><br/><br/>
			<?php if($libelle_critique_film == ''){ echo'<TEXTAREA style="boder: 1; border-color:#FF0000;" type="text" name="libelle_critique_film" rows="10"  cols="40">'.$libelle_critique_film.'</TEXTAREA>';} else{
				echo'<TEXTAREA style="boder: 1; border-color:#00FF00;" type="text" name="libelle_critique_film"  rows="10"  cols="40">'.$libelle_critique_film.'</TEXTAREA>';}?><br/><br/>
				<?php 
				if($charte == 1){
				echo'<input name="charte" checked="true" value="'.$charte.'" type="checkbox"/>';
				}else{echo'<input name="charte" value="'.$charte.'" type="checkbox"/>';}?>&nbsp;J'ai lu et j'accepte les termes de la <a href="../film/chartecritique.php" onclick="window.open(this.href, 'charte', 'height=650, width=700, top=5, left=5, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;">Chartre</a><br/><br/>
				<input type="submit" name="submit" value="Validez votre critique"/><br/><br/>
			</form>
		<h4 style="color:#FFFFFF; text-align: center;">* Ces champs, sont obligatoire.</h4>
			<?php }else{
}}?>

Quelqu'un pourrait m'aider SVP ?!
Lire la suite 

Un problem de Chekbox »

3 réponses
Réponse
+0
moins plus
1- Évites stp de mettre tout le code comme ça, ça donne pas envie de répondre
2- Copies nous juste les lignes où se trouve l'erreur (ligne 37 est laquelle ?)

Allah mo3ine
Ajouter un commentaire
Réponse
+0
moins plus
Je modifi se message car c'est bon, j'ai trouvé, j' juste fais

if(isset($_POST['libelle_critique_film']) OR isset($_POST['note_critique_film']) AND isset($_POST['charte']))
	{
	$libelle_critique_film = $_POST['libelle_critique_film'];
	$note_critique_film = $_POST['note_critique_film'];
	if(isset($_POST['charte']) == ''){
	$charte = '0';
	}else{
	$charte = $_POST['charte'];
	}
	}


a la place de

if(isset($_POST['libelle_critique_film']) OR isset($_POST['note_critique_film']) AND isset($_POST['charte']))
	{
	$libelle_critique_film = $_POST['libelle_critique_film'];
	$note_critique_film = $_POST['note_critique_film'];
	$charte = $_POST['charte'];
	}
Ajouter un commentaire
Réponse
+0
moins plus
Le problème est la condition du if, plus précisément le OR
D'après cette condition, il suffit que $_POST['libelle_critique_film']) existe pour qu'il exécute les instructions entre { }.

1 OR 0 AND 0 est égale à 1,
c'est comme si tu fais 1 + 0 * 0 = 1

Allah mo3ine
Ajouter un commentaire
Ce document intitulé « Un problem de Chekbox » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?