garder une session php

WRInaute impliqué
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:
<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:
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");	
	}  
 }
 
WRInaute passionné
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
 
WRInaute accro
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.
 
Discussions similaires
Haut