garder une session php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


sff
WRInaute impliqué
WRInaute impliqué
 
Messages: 290
Inscription: Mer Fév 02, 2005 23:04

garder une session php

Message le Dim Oct 08, 2006 16:45

Bonjours, j'ai un gros problème pour garder une session php. Je m'explique j'ai un formulaire avec un cham ID et PW, on entre donc ses identifiant et on charge index.php. Juste que la tout va bien la session s'est faites, l'utilisateur est reconnu. Mais le problème c'est que si sur index on a un lien et que l'on clique dessus, on perd la session, et on est plus logé. Faut t'il coupler la session avec un cookie, faut t'il faire autre chose?

Voila les code en question:

Le formulaire (tout simple):

Code: Tout sélectionner
<form action="index.php" method="post"><div>
   ID:&nbsp;
   <input type="text" size="15" name="username"/>
   <input type="image" name="submit" src="images/login/ok.gif" title="Ok" class="no_bordure" style="width:22px; height:15px"/><br />PW:
   <input type="password" size="15" name="password"/>
</form>


Le code de session:
Code: Tout sélectionner
session_start();
$loginOK = false;

if (isset($_POST["submit_x"])) { //Session php.
 
  $query = doquery("SELECT * FROM {{table}} WHERE username='".$_POST["username"]."' AND password='".md5($_POST["password"])."' LIMIT 1", "users");
  $verification = mysql_fetch_array($query);
 
    if ((empty($_POST['username'])) || (empty($_POST['password'])) ) {$session = '<div class="alerte_session">Vous n\'avez pas correctement entré votre ID ou PW!</div><br />'; }
      elseif($verification['verify'] == null) {$session = '<div class="alerte_session">L\'utilisateur demandé est inconnu!</div><br />';  }
        elseif($verification['verify'] != null && $verification['verify'] != 1) {$session = '<div class="alerte_session">Vous n\'avez pas validé votre compte, avec le code de validation contenu dans l\'e-mail que nous vous avons envoyé lors de votre inscription!</div><br />';  }
        elseif ($_POST['username'] == $verification['username']) {
        $loginOK = true;
       $onlinequery = doquery("UPDATE {{table}} SET onlinetime=NOW() WHERE id=$verification[id] LIMIT 1", "users");   
   } 
}


rog
WRInaute accro
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Dim Oct 08, 2006 17:12

pour moi faut tout refaire

les commandes session ne s'arrêtent pas à start

j'ai l'impression que ton systeme est vulnérable, pourrais tu donner le lien vers ce site pour verifier ?

rog


sff
WRInaute impliqué
WRInaute impliqué
 
Messages: 290
Inscription: Mer Fév 02, 2005 23:04

Message le Dim Oct 08, 2006 17:30

Quesqu'il ne va pas, expliquez moi.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Lun Oct 09, 2006 7:21

Sur les liens dont tu parles, tu dois redemarrer la session => session_start();
Tu peux egalement comme tu le suggère coupler la session avec 1 cookie et recuperer les infos du cookie si besoin est.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités