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

Langage PHP Discussion :

Récupération d'une variable (date) [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut Récupération d'une variable (date)
    Bonjour,

    je suis en train de réaliser un projet de qcm en php mysql, et je ne parviens pas à transmettre une variable.

    Le principe est celui d'un site marchand: les enseignants choisissent des questions qui se rajoutent dans un qcm provisoire (=panier) et le publient quand ils en sont satisfaits (= commande)

    Il faut introduire une date limite pour chaque qcm, afin que les élèves ne puissent soumettre les qcm quand ils veulent.

    Voici le script intitulé "qcmProvisoire.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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <?php 
    session_start();
    require_once('../Connections/siteProjetCnam.php'); 
    include ('incLogoutProf.php');
    include ('incAuthentificationProf.php');
    include ('incGetSQLValueString.php');
    
    
    // suppression d'une question en fonction de sa référence
    if ((isset($_GET['questionReference'])) && ($_GET['questionReference'] != "") && (isset($_GET['suppQuestion']))) {
      $deleteSQL = sprintf("DELETE FROM questions WHERE reference=%s",
                           GetSQLValueString($_GET['questionReference'], "text"));
    
      $Result1 = mysql_query($deleteSQL) or die(mysql_error());
    }
    
    
    //init des variables
    if(!isset($_GET['ajoutQCM'])) $ajoutQCM="";//init de ajoutQCM si non déclaré
    else  $ajoutQCM=$_GET['ajoutQCM']; 
    if(!isset($_GET['suppQCM'])) $suppQCM="";//init de suppQCM si non déclaré
    else $suppQCM=$_GET['suppQCM'];
    if(!isset($_GET['enregistreQCM'])) $enregistreQCM="";//init de enregistreQCM si non déclaré
    else $enregistreQCM=$_GET['enregistreQCM'];
    if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];//recup de la liste de la session
    
    
    //----------------------------------------------------AJOUT QCM PROVISOIRE
    if ($ajoutQCM=="AJOUTER")
    {
    	$reference=$_GET['reference']; // référence d'une question
    	$liste[]=array($reference);
    	$_SESSION['liste']=$liste; //ajoute une question à la liste
    }
    
    //----------------------------------------------------SUPP QCM PROVISOIRE
    if (($suppQCM=="SUPPRIMER")&&(isset($_SESSION['liste'])))
    {
    	$question=$_GET['question'];
    	for ($i=0;$i<count($liste);$i++)
    		{
    		if($question==$liste[$i][0]) array_splice($liste,$i,1);
    			
    		//suppression de la question
    		}
    	$_SESSION['liste']=$liste;//mAj de la liste
    	if(count($_SESSION['liste'])==0) 
    	{
    	unset($_SESSION['liste']);
    	header("Location:QCMProvisoire.php");
    	}
    }
    
    //----------------------------------------------------VALIDER QCM
    if (($enregistreQCM=="ENREGISTRER")&&(isset($_SESSION['liste'])))
    {
    	if(!isset($_GET['action'])) 
    	$_SESSION['action']="ENREGISTRER";//mémorise l'action 
    	header("Location: QCMPubliesGestion.php");
    }
     ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/ModeleAdmin.dwt.php" codeOutsideHTMLIsLocked="false" -->
    <head>
    <!-- InstanceBeginEditable name="doctitle" -->
    <title>Boutique DREAM</title>
    <!-- InstanceEndEditable -->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link href="../style/styleAdmin.css" rel="stylesheet" type="text/css" />
    <!-- InstanceBeginEditable name="head" --> <!-- InstanceEndEditable -->
    </head>
    <body>
      <div id="conteneur">
        <div id="tete"> <img src="../images/bandeauAdmin.gif" width="950" height="60" border="0"/> </div>
        <div id="menu"> 
        <a href="questionsGestion.php" >Questions</a> 
        <a href="nouveauTheme.php" >Nouveau thème</a>
        <a href="QCMProvisoire.php" >QCM provisoire</a>
        <a href="QCMPubliesGestion.php" >QCM publiés</a>
        <a href="notesQCM.php" >Notes</a>
        <a href="utilisateursGestion.php" >Utilisateurs</a>  
        <a href="../public/banqueQCM.php" >Public</a>
        <a href="<?php echo $logoutAction ?>" >Déconnexion</a>  
        </div>
        <!-- Contenus : -->
        <!-- InstanceBeginEditable name="pagePublic" -->
    <h1>GESTION DU QCM PROVISOIRE</h1>
    <div id="contenu">
      <?php if(isset($liste))  { ?>
      
        <form name="form1" method="get" action="QCMProvisoire.php">
    <table>
    	<tr>
    		<th width="80%" scope="col">Question</th>
    		<th width="20%" scope="col">Supp</th>
    	</tr>
            <?php
      for ($i=0;$i<count($liste);$i++)
    {
    	$query_rsQCM="select * from questions where reference = '".$liste[$i][0]."'";
    	$rsQCM = mysql_query($query_rsQCM) or die(mysql_error());
        $row_rsQCM = mysql_fetch_assoc($rsQCM);		
    	?>
            <tr>
    		<td><?php echo $row_rsQCM['question'] ?></td>
    		<td><a
    			href="QCMProvisoire.php?suppQCM=SUPPRIMER&question=<?php echo $row_rsQCM['reference'] ?>">
    			<img src="../images/clicSup.gif" width="14" height="13" border="0"/></a></td>
    	</tr>
            <?php } ?>
    </table>
    <p>&nbsp;</p>
    <p><label>Date limite : <input type="text" name="date_limite" id="date_limite"/></label></p>
    <p><input type="submit" name="enregistreQCM" id="enregistreQCM" value="ENREGISTRER"/></p>
    </form>
         <?php } else { ?>
        <p>Votre QCM est vide</p>
    	  
    	 <?php }?>	
      </div>
    <!-- InstanceEndEditable -->
        <!-- Fin Contenus : -->
      </div>
    </body>
    <!-- InstanceEnd --></html>

    Et voici le code intitulé QCMPubliesGestion:

    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    <?php 
    session_start();
    require_once('../Connections/siteProjetCnam.php'); 
    include ('incLogoutProf.php');
    include ('incAuthentificationProf.php');
    include ('incGetSQLValueString.php');
    
    
    //init des variables 
    if (!isset($_GET['QCM_ID'])) $_GET['QCM_ID']=1;
    if (!isset($_SESSION['action'])) $action=""; else $action=$_SESSION['action'];
    if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];//recup de la liste de la session
    if (!isset($_GET['date_limite']))$date_limite = "0000"; else $date_limite = $_GET['date_limite'];
    if (!isset($_SESSION['utilisateurID'])) $utilisateurID=0; else $utilisateurID = $_SESSION['utilisateurID'];
    
    //récupération du nom de l'utilisateur
    $query_rsRappelUtilisateur = sprintf("SELECT ID FROM utilisateurs WHERE email = '" . $_SESSION['MM_Username'] . "' ");
    
    $rsRappelUtilisateur = mysql_query($query_rsRappelUtilisateur) or die(mysql_error());
    $row_rsRappelUtilisateur = mysql_fetch_assoc($rsRappelUtilisateur);
    $totalRows_rsRappelUtilisateur = mysql_num_rows($rsRappelUtilisateur);
    
    
    //------------Mémorisation du ID utilisateur dans la session
    $utilisateurID = mysql_result($rsRappelUtilisateur,0,'ID');
    $_SESSION['utilisateurID'] = $utilisateurID ;
    //---------------------------------------------------------
    
    
    //-------------Enregistrement d'une nouvelle commande dans la table commandes
    if ($action=="ENREGISTRER")
    	 {//début du if
     	 //--------INSERTION DES PARAMÊTRES DU QCM
    	 $insertCommande="INSERT INTO qcm_publies (date, UtilisateurID, date_limite) VALUES
         (NOW(),'$utilisateurID', '$date_limite')";
    	 $Result1=mysql_query($insertCommande);
    	 $QCM_ID=mysql_insert_id(); 
      //récupère l'identifiant utilisateur attribué. 
    	
      //RÉCUPÉRATION DES PARAMÈTRES DE LA LISTE 
      //DES ARTICLES
    	//récupération des questions,
        //puis enregistrement dans la table listes. 
    	for ($i=0;$i<count($liste);$i++)
    	{//début du for
    	$reference=$liste[$i][0];
          //récup de la réf de la question dans le qcm provisoire
     
    	//INSERTION DES PARAMÊTRES DES ARTICLES 
        //DE LA COMMANDE
    	$insertListe="INSERT INTO listes (QCM_ID, reference)
        VALUES ('$QCM_ID', '$reference')";
     	$Result1=mysql_query($insertListe);
    	}//fin du for
    	
      //----------DESTRUCTION DES INFORMATIONS DU PANIER
    	//destruction de la liste, du total et du 
        //drapeau « action » de la session 
     	unset($_SESSION['liste']);
    	unset($_SESSION['action']);
    	}//fin du if ($action=="ENREGISTRER")
    //-------------------------------------------------------------
    
    
    $query_rsSelectQCM = sprintf("SELECT qcm_publies.ID, `date`, utilisateurs.nom FROM qcm_publies, utilisateurs 
    							  WHERE utilisateurID = '" . $_SESSION['utilisateurID'] . "'  
    							  AND utilisateurs.ID = qcm_publies.utilisateurID 
    							  ORDER BY ID DESC");	
    	
    $rsSelectQCM = mysql_query($query_rsSelectQCM) or die(mysql_error());
    $row_rsSelectQCM = mysql_fetch_assoc($rsSelectQCM);
    $totalRows_rsSelectQCM = mysql_num_rows($rsSelectQCM);
    
    
    $query_rsListe = sprintf("SELECT listes.reference, questions.question, questions.rep_juste 
    						  FROM listes, questions 
    						  WHERE QCM_ID = '" . $_GET['QCM_ID'] . "' 
    						  AND questions.reference = listes.reference 
    						  ORDER BY reference ASC");
    
    $rsListe = mysql_query($query_rsListe) or die(mysql_error());
    $row_rsListe = mysql_fetch_assoc($rsListe);
    $totalRows_rsListe = mysql_num_rows($rsListe);
    
    
    $query_rsQCM = sprintf("SELECT qcm_publies.`date`, qcm_publies.ID, qcm_publies.date_limite, utilisateurs.nom 
    						FROM qcm_publies, utilisateurs 
    						WHERE qcm_publies.ID = '" . $_GET['QCM_ID'] . "' 
    						AND qcm_publies.utilisateurID=utilisateurs.ID");
    
    $rsQCM = mysql_query($query_rsQCM) or die(mysql_error());
    $row_rsQCM = mysql_fetch_assoc($rsQCM);
    $totalRows_rsQCM = mysql_num_rows($rsQCM);
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/ModeleAdmin.dwt.php" codeOutsideHTMLIsLocked="false" -->
    <head>
    <!-- InstanceBeginEditable name="doctitle" -->
    <title>Espace Admin</title>
    <!-- InstanceEndEditable -->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link href="../style/styleAdmin.css" rel="stylesheet" type="text/css" />
    <!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
    </head>
    <body>
      <div id="conteneur">
        <div id="tete"> <img src="../images/bandeauAdmin.gif" width="950" height="65" border="0" /> </div>
        <div id="menu"> 
        <a href="questionsGestion.php" >Questions</a> 
        <a href="nouveauTheme.php" >Nouveau thème</a>
        <a href="QCMProvisoire.php" >QCM provisoire</a>
        <a href="QCMPubliesGestion.php" >QCM publiés</a>
        <a href="notesQCM.php" >Notes</a>
        <a href="utilisateursGestion.php" >Utilisateurs</a>  
        <a href="../public/banqueQCM.php" >Public</a>
        <a href="<?php echo $logoutAction ?>" >Déconnexion</a> 
        </div>
        <!-- Contenus : -->
        <!-- InstanceBeginEditable name="pageAdmin" -->
    <h1>GESTION DES QCM PUBLIES</h1>
        <div id="contenu">
          <form name="form1" method="get" action="QCMPubliesGestion.php">
            <?php if ($totalRows_rsSelectQCM > 0) { // Show if recordset not empty ?>
      <table border="0">
        <tr>
          <th scope="row">Sélectionnez le QCM:</th>
          <td><select name="QCM_ID" id="QCM_ID">
            <?php
    do {  
    ?>
            <option value="<?php echo $row_rsSelectQCM['ID']?>"<?php if (!(strcmp($row_rsSelectQCM['ID'], $_GET['QCM_ID']))) 
            {echo "selected=\"selected\"";} ?>><?php echo $row_rsSelectQCM['ID']?>
            du <?php echo $row_rsSelectQCM['date']?>
            </option>
            <?php
    } while ($row_rsSelectQCM = mysql_fetch_assoc($rsSelectQCM));
      $rows = mysql_num_rows($rsSelectQCM);
      if($rows > 0) {
          mysql_data_seek($rsSelectQCM, 0);
    	  $row_rsSelectQCM = mysql_fetch_assoc($rsSelectQCM);
      }
    ?>
          </select></td>
          <td><input type="submit" name="button" id="button" value="AFFICHER"></td>
          </tr>
      </table>
      <?php } // Show if recordset not empty ?>
          </form>
          <p>&nbsp;</p>
          <?php if ($totalRows_rsListe > 0) { // Show if recordset not empty ?>
            <table border="0">
              <tr>
                <th scope="col">Question</th>
                <th scope="col">Réponse</th>
              </tr>
              <?php do { ?>
                <tr>
                  <td><?php echo $row_rsListe['question']; ?></td>
                  <td><?php echo $row_rsListe['rep_juste']; ?></td>
                </tr>
                <?php } while ($row_rsListe = mysql_fetch_assoc($rsListe)); ?>
            </table>
            <p>&nbsp;</p>
            <table border="0">
              <tr>
                <td colspan="2" scope="row">QCM N° <?php echo $row_rsQCM['ID']; ?> du <?php echo $row_rsQCM['date']; ?></td>
                <td colspan="2" scope="row">date limite: <?php echo $row_rsQCM['date_limite']; ?> </td>
              </tr>
            </table>
            <?php } // Show if recordset not empty ?>
    <p>&nbsp;</p>
          <p>&nbsp;</p>
          <?php if ($totalRows_rsSelectQCM == 0) { // Show if recordset empty ?>
            <p>Vous n'avez pas encore de qcm publié.</p>
            <p>Cliquer sur la rubrique Questions pour constituer un QCM.</p>
            <?php } // Show if recordset empty ?></div>
    <!-- InstanceEndEditable -->
        <!-- Fin Contenus : -->
      </div>
    </body>
    <!-- InstanceEnd --></html>
    <?php
    mysql_free_result($rsRappelUtilisateur);
    
    mysql_free_result($rsSelectQCM);
    
    mysql_free_result($rsListe);
    
    mysql_free_result($rsQCM);
    ?>
    J'ai mis en gras les parties bloquantes. La date limite rentrée par un enseignant (je me suis limité à l'année pour le moment, mais je mettrai en place une date complète) n'est pas transmise à la page du qcm publiée.

    Si jamais quelqu'un peut m'aiguiller...

    Merci par avance,
    Johnny

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Finalement, j'ai traité l'insertion dans le premier fichier plutôt que le second, et ça a fonctionné.

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

Discussions similaires

  1. [Dates] Récupération d'une variable dans whois ndd
    Par Arawn94 dans le forum Langage
    Réponses: 12
    Dernier message: 07/06/2007, 15h54
  2. petite question sur la récupération d'une variable
    Par minusette dans le forum Langage
    Réponses: 6
    Dernier message: 17/11/2005, 17h57
  3. [C#] Récupération d'une variable d'environnement
    Par jamy79 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2005, 15h03
  4. Récupération d'une variable
    Par cach dans le forum Windows
    Réponses: 7
    Dernier message: 22/02/2005, 12h19
  5. Réponses: 6
    Dernier message: 14/02/2005, 12h53

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