Un problem de Chekbox

Résolu/Fermé
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 17 juin 2009 à 12:07
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 - 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 ?!

3 réponses

hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
17 juin 2009 à 12:45
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
0
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
17 juin 2009 à 12:56
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'];
	}
0
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
17 juin 2009 à 13:05
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
0