Page précédente | Page suivante | Page : 1

probleme de session
Hors ligne Jdalton42 Le 14/07/2005 à 14:26 Profil de Jdalton42 Configuration de Jdalton42
salut,

je fais une connexion membre sur mon site, elle fonctionne, mais il y a un bug. quand on est connecter il affiche "bonjour pseudo" (a la place de pseudo il mes le pseudo du membre biensur), jusque la sa va, mais apres, quand on va sur une autre page ou qu'on actualise la page ou quoi, le pseudo change...
pour la connexion j'ai ce script:
<?php session_start(); if (isset($_POST['login'])){      $login = $_POST['login'];      $pass = md5($_POST['pass']);           $db = mysql_connect('localhost', 'xxx', 'xxx'); mysql_select_db('adovi', $db); $verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); $verif = mysql_query($verif_query, $db) or die(mysql_error()); $row_verif = mysql_fetch_assoc($verif); $utilisateur = mysql_num_rows($verif);           if ($utilisateur) {          session_register("authentificationadovi");                      $_SESSION['email'] = $row_verif['email'];           $_SESSION['privilege'] = $row_verif['privilege'];           $_SESSION['login'] = $row_verif['login'];           $_SESSION['nom'] = $row_verif['nom'];           $_SESSION['msn'] = $row_verif['msn'];           $_SESSION['site'] = $row_verif['site'];           $_SESSION['signature'] = $row_verif['signature'];           $_SESSION['adresse'] = $row_verif['adresse'];           $_SESSION['password'] = $row_verif['password'];           header("Location:index.php"); }      else {           header("Location:index.php");      } } ?>

et pour afficher le pseudo je mes: <?php echo'bonjour '.$_SESSION['login'].' ?>

vous pourriez m'aider s'il vous plait? merci d'avance...
--
jdalton42
Hors ligne Anthony Le 14/07/2005 à 16:25 Profil de Anthony Configuration de Anthony
Fou du volant
Salut,

il faut utiliser session_start(); sur toutes les pages avant d'utiliser les sessions. Ensuite n'utilise plus session_register car c'est déprécié. Pour ce qui est de ta requête précise le nom des champs au lieu de faire un SELECT *, ça sera moins gourmand, même si tu utilises tous les champs. N'oublie pas le mysql_close() après le mysql_query().

Ensuite mets plutôt ça :

if (mysql_num_rows($verif)!==0){

que ça :

$utilisateur = mysql_num_rows($verif);
    if ($utilisateur) {
--
Hors ligne Jdalton42 Le 14/07/2005 à 17:06 Profil de Jdalton42 Configuration de Jdalton42
c'est bon j'ai su reglé le probleme...
--
jdalton42
Hors ligne Graal Le 17/07/2005 à 17:11 Profil de Graal Configuration de Graal
Salut,
je rajouterai que du côté du SQL, il est plus optimisé de lister les champs dans la requête, plutot que d'utiliser le signe Joker *, d'ailleurs tu trouveras qu'il y en a qurement qui ne sont pas utiles à selectionner pour l'utilisation de ton script.

edit > oups déja dit :-°
--
Vacances r0xx0r pas d'cours cay trop fort §
Hors ligne Jdalton42 Le 17/07/2005 à 17:15 Profil de Jdalton42 Configuration de Jdalton42
graal: 1 sa a deja ete dit!

2 j'utilise tout mes champs mysql mais je selectionne quand meme en les deffinissant sur mon site, ici j'ai mi sa question secu aussi pour pas que tout le monde voi les champs que je selectionne...
--
jdalton42
Hors ligne Anthony Le 17/07/2005 à 19:24 Profil de Anthony Configuration de Anthony
Fou du volant
jdalton42 a écrit :
ici j'ai mi sa question secu aussi pour pas que tout le monde voi les champs que je selectionne...


Heu... ouais si tu veux, enfin si tu n'as pas de faille je vois pas en quoi révéler les champs pourrait compromettre ton site
--
Hors ligne Jdalton42 Le 17/07/2005 à 23:26 Profil de Jdalton42 Configuration de Jdalton42
le probleme est la...

je connais aucune faille, donc pas moyen d'essayer de les bloquer... donc au cas ou...
--
jdalton42

Page précédente | Page suivante | Page : 1

Aide informatique | Communauté d'entraide informatique | Aide informatique | Forum d'assistance informatique | Forum-Vista | Formation informatique | Forum Informatique | Devenir partenaire