Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2006, 22h17   #1
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
Par défaut Garder des valeurs en mémoire

Bonjour,
J'ai créer une page d'identification avec login et mot de passe pour des profs mais lorsque je veux récupérer sur une autre page les élèves du prof dans une liste déroulante à l'aide d'une jointure sur le login du prof je n'obtiens rien dans ma liste. voila le code que j'ai utilisé ci-desssous :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
  <?php
 include('ConnectEcole.php');
  $rqSql = "SELECT * FROM eleve, prof WHERE eleve.NumProf = Prof.NumProf and LoginProf = '".$_POST['login']."'";
   $result = mysql_query( $rqSql)
             or die( "Exécution requête impossible.");
  while ($resultat = mysql_fetch_array($result)){ 
 
   echo "<option>".$resultat["NomEleve"]."</option>\n";
  } 
   ?>
Merci d'avance
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 22h20   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Bonjour,

As-tu fais un echo de la requête ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 22h23   #3
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
j'obtiens rien du tout
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 22h29   #4
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
Mais lorsque que je supprime la fin de ma requête j'obtiens bien la liste de tous les élèves...
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 22h31   #5
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par natie_49
j'obtiens rien du tout
$rqSql ne contient rien ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 22h34   #6
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
oui apparemment
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 22h34   #7
Membre confirmé
 
Avatar de Julien.alkaza
 
Inscription : octobre 2004
Messages : 240
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : octobre 2004
Messages : 240
Points : 240
Points : 240
Envoyer un message via MSN à Julien.alkaza
Citation:
Envoyé par natie_49
Code :
1
2
3
4
5
6
7
8
9
10
11
 
  <?php
 include('ConnectEcole.php');
  $rqSql = "SELECT * FROM eleve, prof WHERE eleve.NumProf = Prof.NumProf and LoginProf = '".$_POST['login']."'";
   $result = mysql_query( $rqSql)
             or die( "Exécution requête impossible.");
  while ($resultat = mysql_fetch_array($result)){ 
 
   echo "<option>".$resultat["NomEleve"]."</option>\n";
  } 
   ?>
Ca n'est pas nécessaire de faire toutes ces opérations de concaténation...
Code :
1
2
3
$login = if (isset($_POST['login'])){
$login = $_POST['login'];
$rqSql = "SELECT * FROM eleve, prof WHERE eleve.NumProf = Prof.NumProf AND LoginProf = '$login';";
devrait marcher...

EDIT : Tu n'as pas mis le " ; " à la fin de ta requete...
__________________
Admin Réseaux & Systèmes.

Red Hat Certified Technician...#604006101698235
Julien.alkaza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 12h14   #8
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
j'ai une erreur à ce niveau là :
Code :
1
2
 
$login = if (isset($_POST['login'])){
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 12h17   #9
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
Envoyé par natie_49
j'ai une erreur à ce niveau là :
Code :
1
2
 
$login = if (isset($_POST['login'])){
Ca veut dire quoi pour toi ? Tu fais un if et tu mets le résultat dans $login, mais je pense pas qu'un if renvoie quelque chose... Enlève $login =


Citation:
EDIT : Tu n'as pas mis le " ; " à la fin de ta requete...
C'est nouveau ça ?
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 12h23   #10
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
Ca change rien j'arrive toujours pas à récupérer les élèves du prof identifier!!!
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 12h29   #11
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Redonne ton code complet (celui du premier post) avec la modif.
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 12h32   #12
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?php
 include('ConnectEcole.php');
 if (isset($_POST['login'])){
 $login = $_POST['login'];}
 $rqSql = "SELECT * FROM eleve, prof WHERE eleve.NumProf = Prof.NumProf AND LoginProf = '$login';";
   $result = mysql_query( $rqSql)
             or die( "Exécution requête impossible.");
  while ($resultat = mysql_fetch_array($result)){ 
 
   echo "<option>".$resultat["NomEleve"]."</option>\n";
  } 
   ?>
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 12h37   #13
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Le isset ne sert à rien si tu mets l'accolade ici.
Essaie ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 <?php
include('ConnectEcole.php');
if (isset($_POST['login'])){
$login = $_POST['login'];
$rqSql = "SELECT * FROM eleve, prof WHERE eleve.NumProf = Prof.NumProf AND LoginProf = '$login';";
   $result = mysql_query( $rqSql)
             or die( "Exécution requête impossible.");
  while ($resultat = mysql_fetch_array($result)){ 
 
   echo "<option>".$resultat["NomEleve"]."</option>\n";
  } 
}
else
  echo "Login inconnu !";
   ?>
Le problème vient probablement de la transmission du login (ça sera vérifié si ça affiche "Login inconnu !", si c'est le cas donne le code où la valeur login est transmise.
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 13h10   #14
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
oui j'obiens login inconnu!!
Voila le code ke j'ai utilisé pour vérifier le login ds une autre page :
Code :
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
 
<?php
include('ConnectEcole.php');
$login = $_POST['login'];
$Password = $_POST['Password'];
// vérification du login
if(empty($login)) 
{ 
print("<center>Le '<b>Login</b>' est vide ! </center>"); 
echo '<center><form action="prof.htm"><input type="submit" value= "retour"></form></center>';
exit(); 
} 
// vérification du pass 
if(empty($Password)) 
{ 
print("<center>Le '<b>Mot de Passe</b>' est vide ! </center>"); 
echo '<center><form action="prof.htm"><input type="submit" value= "retour"></form></center>';
exit(); 
}
$sql="SELECT LoginProf FROM Prof WHERE LoginProf = '".$_POST['login']."'";
$result=mysql_query($sql) or die("Impossible d'exécuter la requête");
$log=mysql_fetch_array($result);
 
$sql="SELECT PasswordProf FROM Prof WHERE PasswordProf = '".$_POST['Password']."'";
$result=mysql_query($sql) or die("Impossible d'exécuter la requête");
$logpass=mysql_fetch_array($result);
 
if(($logpass['PasswordProf'] != $Password) OR ($log['LoginProf'] != $login)) {  
 echo "<p>Vous n'êtes pas administrateur du domaine.</p>"; 
 echo '<form action="prof.htm"><input type="submit" value= "retour"></form>';
 }
 else{     
  $_SESSION['login'] = $login;   
  echo 'Bienvenue '.$login.', vous avez été identifié comme administrateur du domaine';  
  echo '<br /><form action="Note.php"><input type="submit" value="ENTREZ"></form>';  }
?>
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 13h43   #15
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
C'est pas ça le problème, c'est la transmission de la valeur login, je sais pas tu as fait un formulaire pour ça ? Ou plus probablement vu ton code tu utilises les sessions, dans ce cas c'est $_SESSION['login'] qu'il faut utiliser et pas $_POST['login']
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 13h49   #16
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
c'est un formulaire que j'utilise.
Ca sert à quoi les sessions car jai pris une partie de ce code sur le net?
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 13h53   #17
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
Envoyé par natie_49
c'est un formulaire que j'utilise.
Ca sert à quoi les sessions car jai pris une partie de ce code sur le net?
Mauvaise réponse, c'est bien ce qu'il me semblait, ton code est un beau mélange entre forumlaires et sessions, alors dans ce cas
par exemple au hasard http://php.developpez.com/faq/?page=sessions

ou encore dans les tutos
http://php.developpez.com/cours/

Après on verra...

Bon courage en tout cas
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 14h38   #18
Futur Membre du Club
 
Inscription : mai 2005
Messages : 109
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2005
Messages : 109
Points : 18
Points : 18
Envoyer un message via MSN à natie_49
jai enlever cette ligne et ca n'a rien changé, j'y comprend vraiment rien en php!! lol
Code :
1
2
 
$_SESSION['login'] = $login;
natie_49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 14h46   #19
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
normal ce n'est pas ca le pb...

Pour moi il faut que tu recupere le login de ton formulaire via POST ou GET
et ensuite du le met dans une variable de session....
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2006, 14h49   #20
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
Envoyé par natie_49
jai enlever cette ligne et ca n'a rien changé, j'y comprend vraiment rien en php!! lol
Code :
1
2
 
$_SESSION['login'] = $login;
Deuxième mauvaise réponse, attention à la troisième tu sors
Alors pour expliquer un peu : si toi-même tu ne comprends pas ce que tu fais, c'est pas facile de VRAIMENT t'aider. Le forum c'est bien pour filer un coup de main sur des problèmes précis, mais pas pour refiler tout le travail aux autres sous prétexte qu'on est un peu fainéant pour comprendre un minimum les choses.

Dans ta page de traitement (le code que je t'ai laissé dans un précédent post), comme je te l'ai déjà dit remplace $_POST par $_SESSION (puisque tu utilises les SESSION à ton insu pour gérer le cas où l'utilisateur est un admin, enfin c'est ce que je comprends).
Code :
1
2
3
 
if (isset($_SESSION['login'])){
$login = $_SESSION['login'];
Allez, on prend son courage à deux mains et on réfléchit à ce qu'on fait même si c'est pas facile en ce jour de pont.


Edit : Boo64 regarde bien ses codes le $_SESSION['login'] est déjà initialisé dans certains cas, je suppose que c'est uniquement dans ce cas que la deuxième page est appellée...
Edit2 spécial Boo64 : AAAAAAAAAAAAAAAAAAAAALLEZ CHOLET
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h24.


 
 
 
 
Partenaires

Hébergement Web