[php/ mysql] Authentification: pb de session

ça marche pas !! :s

c est un poil compliqué … mais en gros oui :wink:

f_check_login.php :


<?
function check_login($login, $password, $mysql_link)
{
	$query="select * from compte where login='".mysql_real_escape_string($login)."' and password = binary '".mysql_real_escape_string($password)."'";		
	$results=mysql_query($query,$mysql_link);
	$compte=mysql_fetch_array($results);
	mysql_free_result($results);
	if(!$compte) return FALSE;
	return $compte;
}
?>


<?
include_once("etc/config.php");
// juste la config user, local etc
include_once("inc/start_session.php");
// juste le start_session
include_once("inc/mysql_connexion.php");
// juste la connexion
include_once("inc/f_check_login.php");

$compte=FALSE;
if(isset($_POST["login"])&&isset($_POST["password"]))
	$compte=check_login($_POST["login"],$_POST["password"], $mysql_link);

if($compte)
{
	$_SESSION["compte"]=$compte;
	$_SESSION["compte"]["expiration"]=time()+session_life;

// ça c pas obligatoire c pour se rappeler le login
	if(isset($_POST["keep"])&&$_POST["keep"])
	{
		setcookie("login",$_POST["login"],time()+3600*24*30,"/");
		setcookie("password",$_POST["password"],time()+3600*24*30,"/");
		setcookie("keep",$_POST["keep"],time()+3600*24*30,"/");
	}
	else
	{
		setcookie("login","",time()+3600*24*30,"/");
		setcookie("password","",time()+3600*24*30,"/");
		setcookie("keep","",time()+3600*24*30,"/");
	}

}
else
{
	unset($_SESSION["compte"]);
}

$url="index.php";
include("inc/replace.php");
?>

ensuite j’ai un fichier check_session.php pour s’assure que la session ne sois pas expirée


<?

if(isset($_SESSION["compte"]))
{
	if($_SESSION["compte"]["expiration"]>time())
		$_SESSION["compte"]["expiration"]=time()+session_life;
	else
		unset($_SESSION["compte"]);
}

?>

en effet ça ma lair un peu plus complexe donc je te tiens au courant plus tard (entre ce soir et demain parcque je dois y aller là )
++ et merci

re j’ai encore besoin de ton aide si tu as du temps ce matin :wink: ++

ben gt en réunion la …

Je ne sais pas si ca peut être la cause de ton problème de session, mais sauf erreur de ma part, il me semble avoir lu qu’une redirection avec une adresse autre que relative (donc en http://…) faisait perdre les sessions pour éviter de transmettre des données de sessions vers des sites externes…

C’est un truc que j’ai survolé donc je me trompe peut être…

Tu ne peux pas. Ou alors, tu fais un sleep(3) mais bon…

[edit] je répondais au dernier message de la page précédente, le boulet :x