Systéme de session par cookies - PHP - Programmation
Marsh Posté le 30-11-2002 à 13:31:58
Salut
j'ai fait le tutoriel présent sur un site mais tout plante .
Voici mon code:
ident.php:
Code:
<?
require "share.inc.php"; // fichier share, contenant les fonctions appelées plus bas
if($posted && !empty($login) && !empty($pass)){ // formulaire posté
$pass = md5($pass); // on crypte le mot de passe
if(VerifSession($login,$pass)){ // vérification authentification
EnvoieCookie($login,$pass); // envoi du cookie, puis redirection
?>
<script language="JavaScript">
document.location.replace("<? echo $path."?login=$login&pass=$pass"; ?>" );
</script>
<?
}else{
$msg = "Login incorrect";
}
}
?>
<html>
<head><title>Authentification</title></head>
<body>
<form action="ident.php" method="post">
<?if($msg){ echo "<font color=red>$msg</font>"; }?>
<table>
<tr><td>Login : </td><td><input type="text" name="login" value="<?echo $login;?>"></td></tr>
<tr><td>Mot de passe : </td><td><input type="text" name="pass"></td></tr>
<tr><td> </td><td><input type="submit" name="submit" value="Ok"></td></tr>
</table>
<input type="hidden" name="path" value="<?echo $path;?>">
<input type="hidden" name="posted" value="1">
</form>
</body>
</html>
share.inc.php:
Code:
<?
function VerifSession ($login,$pass)
{
if(empty($login) || empty($pass)) {
return false;
}
/* Requête bdd pour vérifier login/pass ok */
$sql = "
SELECT
pass
FROM session
WHERE login='$login'
";
@mysql_connect("localhost","gbapower","" );
$result = @mysql_db_query("gbapower",$sql);
$row = @mysql_fetch_array($result);
if(md5($row["pass"]) == $pass){ // mot de pass encrypté
return true;
}else{
return false;
}
}
function EnvoieCookie ($login,$pass)
{
// Envoi d'un cookie, avec login et mot de passe
// Le mot de passe est encrypté
SetCookie("gbapowersession","$login:$pass" );
}
?>
session.inc.php:
Code:
<?
$auth = explode(":",$HTTP_COOKIE_VARS["gbapowersession"]);
if(empty($auth[0]) || empty($auth[1])){ // il n'y a pas de cookie, mais
$auth[0] = $login; // on a peut etre $login et $pass en paramètre
$auth[1] = $pass; // si l'utilisateur n'accepte pas les cookies
}
if(!VerifSession($auth[0],$auth[1])){ // on verifie authentification
/* on redirige vers page d'authenfication */
?>
<script language="JavaScript">
document.location.replace("ident.php?path=<? echo urlencode($REQUEST_URI); ?>" );
</script>
<?
exit();
}
?>
index.php:
Code:
<?
require "session.inc.php";
?>
<html>
<body>
<p>Bonjour <?echo $auth[0];?></p>
</body>
</html>
Voila
je tient aussia présicer que j'ai fait une table nommer session contenant deux champs: login et pass ...
Pouvez vous m'aider ? merci d'avance ...
Marsh Posté le 30-11-2002 à 12:59:51
Ma question va vous paraitre sote mais ou puije truver un doc sur les sessionscookies ?
ou bien qq ici peut m'aider ?
merci d'avance
+++