IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Notice: Undefined index: in


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    alternant IRIS
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : alternant IRIS

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Notice: Undefined index: in
    Bonjour,

    Je suis actuellement en projet pour mon alternance et avec ma collègue on se prend un peu des migraines à cause d'erreur car nous n'arrivons pas à modifier l'erreur.
    Le premier soucis viens de '.$liste_EtatsQuizz[$row_quizz['EtatsQuizz']]['Description'].' il me note une erreur je vais détaillé mon code avec tous les fichiers pour faciliter la compréhension:


    modifier_quizz.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    $req_quizz = "	SELECT 	t_quizz.IdQuizz IdQuizz,
    	t_quizz.TitreQuizz '".$inputTitreQuizz."',
    	t_quizz.DescriptionQuizz '".$inputDescriptionQuizz."',
    	t_quizz.MetierQuizz '".$inputMetierQuizz."',
    	t_quizz.IdCreateurQuizz IdCreateurQuizz,
    	t_quizz.DateCreationQuizz DateCreationQuizz,
    	t_quizz.NbQuestionQuizz NbQuestionQuizz,
    	t_quizz.DisponibiliteQuizz DisponibiliteQuizz,
    	t_quizz.CorrigerQuizz CorrigerQuizz,
    	t_quizz.EtatQuizz EtatQuizz,
    	CONCAT_WS(' ',t_utilisateurs.Nom, t_utilisateurs.Prenom) NomCreateurQuizz
    	FROM 	db_quizz.tb_quizz t_quizz,  
    		db_quizz.tb_users t_utilisateurs
    	WHERE 	t_quizz.IdQuizz = '".$idQuizz."' AND 
    		t_quizz.IdCreateurQuizz = t_utilisateurs.Id ";
    // echo $req_quizz;
    $sql_quizz = mysql_query($req_quizz);
    if(mysql_num_rows($sql_quizz)) {
    	echo "<META http-EQUIV=\"Refresh\" CONTENT=\"0; url=index.php\">";
    	exit();
    }
    else{
    	$row_quizz = mysql_fetch_array($sql_quizz);
    	echo '<div class="well well-small">';
    	echo '<h2>QUIZZ - '.$row_quizz['TitreQuizz'].' <a class="btn pull-right btn-warning" href="index.php?VUE='.$vues.'">Retour</a></h2>';
    	echo '</div>';
    	echo '<div class="well">';
    	echo '<h3>Construction du nouveau QUIZZ</h3>';					
    	echo '<table class="table table-condensed">';
    	echo '<tr>';
    	echo '<th>Créateur<br>du Quizz</th>';
    	echo '<th>Date<br>de création</th>';
    	echo '<th>Nombre<br>de Question</th>';
    	echo '<th>Etat<br>d\'avancement</th>';
    	echo '</tr>';							
    	echo '<tr>';
    	echo '<td>'.$row_quizz['NomCreateurQuizz'].'</td>';
    	echo '<td>'.$row_quizz['DateCreationQuizz'].'</td>';
    	echo '<td>'.$row_quizz['NbQuestionQuizz'].'</td>';
    	echo '<td>'.$liste_EtatsQuizz[$row_quizz['EtatsQuizz']]['Description'].'</td>';  //erreur sur cette ligne
    liste.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    case 'enregistrer_question_QUIZZ' :
    	$idQuizz = isset($_GET['idQUIZZ']) ? $_GET['idQUIZZ'] : $_POST['idQUIZZ'];
    	$limiteNbReponses = isset($_GET['limiteNbReponses']) ? $_GET['limiteNbReponses'] : $_POST['limiteNbReponses'];				
    	$limiteNbQuestions = isset($_GET['limiteNbQuestions']) ? $_GET['limiteNbQuestions'] : $_POST['limiteNbQuestions'];
    	$numQuestion = isset($_GET['NumQuestion']) ? $_GET['NumQuestion'] : $_POST['NumQuestion'];
    	$Question =  '';
    	$NbCheck = array();
    	$newQuestion =  isset($_POST['newQuestion']) ? $_POST['newQuestion'] : -1;
    	if($newQuestion == -1 && isset($_POST['QUESTION_'.$numQuestion.''])){
    		$Question = isset($_POST['QUESTION_'.$numQuestion.'']) ? trim($_POST['QUESTION_'.$numQuestion.'']) : '';
    		$i=1;
    		for($i>=1; $i<=$limiteNbReponses; $i++){
    			$Reponse[$i] = isset($_POST['RESPONSE_'.$i.'']) ? trim($_POST['RESPONSE_'.$i.'']) : '';
    			$RepDefaut[$i] = isset($_POST['RESPONSE_CHECKBOX_'.$i.'']) ? 1 : 0;
    		}
    		$NbCheck = array_sum($RepDefaut);
    		if($numQuestion <= $limiteNbQuestions){
    			if($NbCheck >= 1){
    				if(isset($_POST['QUESTION_'.$numQuestion.''])){
    					if(trim($_POST['QUESTION_'.$numQuestion.'']) != ''){
    						$sel_question = " 	SELECT 	t_questions.NumeroQuestion
    							FROM 	db_quizz.tb_questions t_questions
    							WHERE 	t_questions.IdQuizz = '".$idQuizz."'
    							ORDER BY 	t_questions.NumeroQuestion DESC ";
    						// echo $sel_question;
    						$res_question = mysql_query($sel_question);
    						$row_question = mysql_fetch_array($res_question);
    						$numLastQuestion = $row_question['NumeroQuestion'] ? $row_question['NumeroQuestion'] : 0;
    						if($numLastQuestion < $numQuestion){
    							$description = addslashes(strip_tags(trim($_POST['QUESTION_'.$numQuestion.''])));
    							$ins_question = " 	INSERT 
    								INTO 	db_quizz.tb_questions
    								(IdQuizz, DescriptionQuestion, NbReponseQuestion, NumeroQuestion) 
    								VALUES 
    								('".$idQuizz."', '".$description."', '".$limiteNbReponses."', '".$numQuestion."') ";
    							// echo $ins_question;				
    							if(mysql_query($ins_question)){
    								$idQuestion = mysql_insert_id();
    								$numReponse = 1;
    								for($numReponse = 1; $numReponse <= $limiteNbReponses; $numReponse++){
    									if(isset($_POST['RESPONSE_'.$numReponse.''])){
    										if(trim($_POST['RESPONSE_'.$numReponse.''])){
    											$descriptionReponse = addslashes(strip_tags(trim($_POST['RESPONSE_'.$numReponse.''])));
    											$defautReponse = isset($_POST['RESPONSE_CHECKBOX_'.$numReponse.'']) ? 1 : 0;
    											$ins_response = "	INSERT 
    												INTO 	db_quizz.tb_reponses
    												( IdQuizz, IdQuestion, DescriptionReponse, DefautReponse, NumeroReponse) 
    												VALUES 
    												('".$idQuizz."', '".$idQuestion."', '".$descriptionReponse."', '".$defautReponse."', '".$numReponse."') ";
    											// echo $ins_response;
    											mysql_query($ins_response);
    											$Question = '';
    											$Reponse = array();
    											$RepDefaut = array();
    										}
    										else {
    											$_SESSION['message'] = '| Réponse '.$i.' obligatoire |';
    										}
    									}
    									else {
    										$_SESSION['message'] = '| Réponse '.$i.' obligatoire |';
    									}
    								}
    								$etatQuizz = 1;
    								$up_quizz = " 	UPDATE 	db_quizz.tb_quizz
    									SET 	NbQuestionQuizz = '".$numQuestion."', EtatQUizz = '".$etatQuizz."' 
    									WHERE 	IdQuizz = '".$idQuizz."' ";
    								// echo $up_quizz;
    								mysql_query($up_quizz);											
    							}
    							else {
    								$_SESSION['message'] = 'Erreur d\'enregistrement';
    							}
    						}
    						else {
    							$Question = '';
    							$Reponse = array();
    							$RepDefaut = array();
    							$_SESSION['message'] = 'Question '.$numQuestion.' est déjà enregistrer';
    						}
    					}
    					else { 
    						$_SESSION['message'] = 'La question est obligatoire';
    					}
    				}
    				else {
    					$_SESSION['message'] = 'La question est obligatoire';
    				}
    			}
    			else {
    				$_SESSION['message'] = 'Merci de choisir au minimun une réponse possible (case à cocher)';
    			}
    		}
    		else {
    			$_SESSION['message'] = 'Le nombre maximal de question est atteint';
    		}
    	}
    	include 'vues/liste/modifier_quizz.php';
    break;


    La deuxième erreur est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="hidden" name="EtatQuizz" value="'.$liste_EtatsQuizz['Description'].'"/>'; // erreur du même type certainement lié à la première.


    Merci d'avance pour votre aide, car le dévellopeur qui devait nous aider lors de notre projet et en télétravail à chaque fois que nous sommes en temps de projet, pratique hein?!

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    faudrait savoir ce que contient $liste_EtatsQuizz.
    Ensuite c'est strange ça :
    On n'échappe plus les valeurs en base de données comme ça depuis au moins 15 ans :
    Les fonctions mysql_xxx() sont obsolètes et vont disparaître de PHP, tu dois passer à mysqli_xxx() ou mieux à PDO

    Enfin quand je vois le code de liste.php (extrait de code qui plus est ^^), je te conseillerai de diviser tout ça en fonctions correctement nommées parce que c'est assez touffu

  3. #3
    Membre à l'essai
    Homme Profil pro
    alternant IRIS
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : alternant IRIS

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci d'avoir répondu, j'édite avec notepad++ et mysqli il ne le connait pas ^^.

    pour $liste_EtatsQuizz

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $liste_EtatsQuizz = array(array());
    	$req_EtatsQuizz = " SELECT * FROM db_quizz.tb_etatsquizz ORDER BY Id ASC ";	
    	$sql_EtatsQuizz =  mysql_query($req_EtatsQuizz);
    	while($row_EtatsQuizz = mysql_fetch_array($sql_EtatsQuizz))
    	{
    		$liste_EtatsQuizz[$row_EtatsQuizz['Id']]['Description'] = utf8_encode($row_EtatsQuizz['Description']);
    	}
    la requête sql fonctionne .

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ok essaie avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_EtatsQuizz[$row_quizz['EtatQuizz']]['Description']
    Tu avais tapé : EtatsQuizz

  5. #5
    Membre à l'essai
    Homme Profil pro
    alternant IRIS
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : alternant IRIS

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci, je récupère une base de donnée du dev de l'entreprise donc je modifie la base pour pouvoir me connecter et je test, mais ma collègue à tester ça semble fonctionner, merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/04/2007, 10h01
  2. Notice: Undefined index method post
    Par vanou dans le forum Langage
    Réponses: 8
    Dernier message: 07/03/2007, 09h33
  3. Pb erreur Notice: Undefined index: pseudo
    Par PAINCO dans le forum Langage
    Réponses: 15
    Dernier message: 19/02/2007, 18h20
  4. Notice: Undefined index
    Par abusatif dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2007, 09h03
  5. Réponses: 9
    Dernier message: 01/05/2006, 00h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo