Session php

Résolu/Fermé
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 10 janv. 2010 à 16:57
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 12 janv. 2010 à 14:40
Bonjour,

Voila j'essaye de faire passer une info de ma base par une session et hélas je n'y arrive pas je ne comprend pas trop pourquoi.

la j'ai mon fichier save_user.php

dedans j'ouvre la session et je la défini

session_start();

$cession = "	SELECT ID_USERS
  			FROM USERS
  			WHERE MAIL = '$mail'";
  
  $req = mysql_query($cession) or die('Erreur SQL !<br>'.$cession.'<br>'.mysql_error()); 
  
   while($data = mysql_fetch_assoc($req))
	 {
	 $_SESSION['id'] = $data['ID_USERS'];
	 }


quand dans un autre fichiers php je réouvre la session et que je l'apelle elle semble vide du coup je n'avance pas

session_start();

$id = $_SESSION['id'];
														
$soordonee = "	SELECT *
			FROM USERS
			WHERE ID_USERS = '$id'";
							
$req = mysql_query($soordonee) or die('Erreur SQL !<br>'.$soordonee.'<br>'.mysql_error());

while($data = mysql_fetch_assoc($req))
{ 						    							
echo $data['sexe']." ". $data['nom'];
}


voila est ce que vous voyeez une erreur quelque part car je m'arrache les cheveux lol
merci de m'aider svp

13 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
10 janv. 2010 à 17:10
Quelle erreur t'affiche-t-il ?
Sinon je vois nulle part un mysql_connect ou mysql_select_db !
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
10 janv. 2010 à 17:20
Alors je n'ai aucune erreur.

Et en fait il n'y a pas de mysql_connect ou mysql_select_db car j'ai fait un include qui me permet de me connecter plus haut donc ce n'est pas la l'erreur.

Et $_SESSION['id'] de la premiere page est bien initialisé à la valeur de ce que je veut par contre pas la deuxième.
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 12:13
up
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
12 janv. 2010 à 13:24
Ce que je ne comprend pas c'est ceci :
while($data = mysql_fetch_assoc($req))
	 {
	 $_SESSION['id'] = $data['ID_USERS'];
	 }

pourquoi faire une boucle?
Ton membre n'es censé avoir qu'une seul id non?
donc ta requete sql ne contient normalement que l'id du membre en question.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 13:27
alors effectivement il n'y a pas besoin de boucle c'est jste que j'ai pas l'habitude de travailler avec mysql et que j'ai trouver que ca pour récupérer les données d'une requete.

Si vous en connaissez d'autre dtes le moi svp
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
12 janv. 2010 à 13:31
simplement ne pas utiliser while.
Je sais qu'il y a une autre technique plus rapide mais je ne la connais pas
$data = mysql_fetch_assoc($req);
$_SESSION['id'] = $data['ID_USERS'];

Pour ton problème, je ne vois pas pourquoi cela ne fonctionne pas.
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
12 janv. 2010 à 13:33
salut
alors tu peut faire tout simplement
$data = mysql_fetch_assoc($req);
$_SESSION['id'] = $data['ID_USERS'];

et si tu fait
echo $data['ID_USERS'];

ça t'affiche quelque chose?
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 13:36
je test je vous dit ca
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 13:53
Alors sur la première page ça fonctionne par contre pour la deuxième toujours rien
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
12 janv. 2010 à 13:56
Le code que tu nous montre, c'est exactement le même que celui que tu as? où alors tu à enlever des parties (je suppose)
montre nous ce que tu as avant session_start(); de ta 2ème page.
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 14:05
Alors en fait je viens de trouver grace a vous lol j'avais oublié le session start de la deuxieme page. pourtant jétais sur de moi concernant la mise en place de celui ci bref. Je suis distrait lol.

Par ailleurs je débute en site web et je voudrais savoir quelle serais dapres vous question sécurité pour enregistrer et logger quelqu'un svp
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
12 janv. 2010 à 14:13
De ce que je connais, lorsqu'un membre se connecte (envoi d'un mot de passe), si tu hash ce code (avec MD5 par exemple) et que tu compares celui ci au mot de passe de la base de donnée (lui aussi hashé dans la table) il y à peut de danger.

Tu dois aussi vérifier si on ne sait pas mettre de commentaire dans un champpour qu' il n'est pas possible de hacker la connexion de qqun.
C'est un peu dur a expliquer mais voila un exemple :
nom d'utilisateur : "toto"
mot de passe : "#commentaire# and 1=1"

C'est un peu primaire mais sur certain serveur ce genre de truc fonctionne.
Si je le fais et que cela fonctionne, je serai connecté sur le compte de toto sans connaitre le mot de passe.
Mais généralement les serveurs mutualisé sont protégé contre ceci.
Je ne me rapelle plus du nom mais c'est une option dans php.ini (il me semble)
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 14:25
ok alors je pensais avoir résolu mon problème avec ma session mais c'est dingue j'arrive pas a reccup les données de ma requete.

Je récupère bien mon $_session['id']

mais ca ca ne fonctionne pas

$coordonee = " SELECT *
FROM USERS
WHERE ID_USERS = '$id'";

$req = mysql_query($coordonee) or die('Erreur SQL !<br>'.$coordonee.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

echo $data['sexe']." ". $data['nom'];
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
12 janv. 2010 à 14:40
C'est bon j'ai trouvé merci
0