[php-mysql]question basique

bonjour a tous .
voila j'ai une page de login (login.php) qui sert a s'authentifier. le login et mot de passe sont sur ma base de données.
il y a 5 comptes différents.
cette page login.php permet d'acceder a un questionnaire puis ce questionnaire permet d'afficher le resultat du questionnaire (resultat.php).
et dans resultat.php , en meme temps que j'affiche les resultats, j'execute une requette pour aller ecrire dans la base de données les reponses.
tout ca marche niquel mais actuellement, 2 tables dans ma base .
- une pour le login et mot de pass (t_login)
- une pour l'enregistrement des reponses (t_gestions_de_donnees)

je souhaite maintenant que dans la table t_gestion_de_donnees , le login apparaisse .

Le but sera que lorsque je veux voir dans la base de données les resultats, je puisse faire une requete en fonction du login qui a été entré .

Ma question est donc toute simple :

A quel moment dois je ecrire le login dans la table t_gestion_de_donnees .
soit dès que le login et mot de passe entrés sont correct , soit au moment ou j'ecris les resultats dans la base de données .

La deuxieme solution me parait la plus correcte, une requete pour un enregistrement .
Mais dans ce cas, comment dois je faire pour garder le login de login.php jusqu'a resultat.php (il y a des pages entre celles ci) .

Voila j'espere c'est a peu pres clair .
Si ca ne l'est pas n'hesitez pas a demander des precisions .
Configuration: Windows XP
Firefox 2.0.0.4

3 réponses

  1. Il faut utiliser les variables de sessions.
    Ca fait bien lontemps que je fais plus de PHP, donc j'ai pas le code en tête, mais c'est pas compliqué à faire ;)
    1. ok .
      donc dans mon login.php voila ce que j'ai quand log et mdp ok :

      if ($row["user_password"] == $p_valid) 
      					{
      						// on crée la session
      						session_name('qcm');
      						session_start();
      						$_SESSION["id"] = $row["user_id"];
      						$_SESSION["login"] = $row["user_login"];
      						$_SESSION["abracadabra"] = "lapin_rose";
      						// authentification reussie => accès à la page cachée
      						header ("Location: qcm/preambule.php");	
      					// sinon message de mot de passe faux
      				} 
      				else $err_mess = "erreur";


      tu pense que dans mon resultat.php j'ai juste a rajouter un truc du genre :

      $log = $_SESSION["login"];


      puis dans resultat.php, donc la ou j'execute la requette qui a cette geule :

      $query = "INSERT INTO `t_gestion_des_donnees` VALUES
      ('','".$nom."','".$prenom."','".$date."','".$reponse_juste."','".$reponse_fausse."','".$ne_sais_pas."','".$liste_reponses_justes."','".$liste_reponses_fausses."','".$liste_je_ne_sais_pas."')";


      je rajoute au bon endroit le ".$log."

      ???
      1. A toi de tester, mais normalement ca devrait fonctionner sans soucis :)