Je dois développer un site pour mon projet de 2ème année et ce site comprends un système d'identification. J'ai installé EasyPhp et tout fonctionne très bien sur les navigateurs des membres de mon groupe. Mais au final on sera sous Linux et un ami a installé tout ce qui faut mais on a un problème avec les cookies. Ils sont bien envoyés et reconnus sous Netscape mais apparemment sous IE soit ils sont bloqués ou pas envoyés du tout, même en mettant le niveau de sécurité au minimum. Voici le code utilisé:
identification.php
<?
require "php/share.inc.php";
if($logout){SetCookie("nomducookie" );
?>
<script language="JavaScript">
document.location.replace("test.php" );
</script>
<?
}
else{
if($posted && !empty($login) && !empty($pass)){
$pass = md5($pass);
if(VerifSession($login,$pass)){
EnvoieCookie($login,$pass);
$msg = "Bienvenue $login";
?>
<script language="javascript">
opener.location.reload(true);
</script>
<?
}
else{
$msg = "Login incorrect";
}
}
else if($posted) $msg = "Veuillez entrer votre mot de passe et votre login";
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="test.css" title="styles"/>
<title>Identification</title></head>
<body background="http://cnum.cnam.fr/IMA/fondacc-demi.jpg">
<form action="identification.php" method="post">
<?if($msg){ echo "<font color=red>$msg</font><br/><br/>"; }?>
<table>
<tr><td class="first">Login : </td><td><input type="text" name="login" value="<?echo $login;?>"></td></tr>
<tr><td class="first">Mot de passe : </td><td><input type="password" name="pass"></td></tr>
<tr><td class="first"> </td><td><input type="submit" name="submit" value="Ok"></td></tr>
</table>
<input type="hidden" name="posted" value="1">
</form>
<center><a href="javascript:self.close()">Fermer</a></center>
</body>
</html>
share.inc.php
<?
function VerifSession ($login,$pass)
{
if(empty($login) || empty($pass)) {
return false;
}
/* Requête bdd pour vérifier login/pass ok */
$sql = "
SELECT
pass
FROM utilisateurs
WHERE login='$login'
";
include ("connexion.php" );
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if(md5($row["pass"]) == $pass){
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("nomducookie","$login:$pass",time()+3600*24);
}
?>
Est ce que vous voyez d'ou ca peut venir?
Merci d'avance.
Message édité par Plout le 24-06-2003 à 15:04:21