[Cookies] script de connection
bonjour, j'ai été amené à faire un système de membres et donc de connection pour mon site, le problème est qu'il ne marche pas sous IE, et j'ai beau tout tester, cela ne change rien :(
voici mon script de login classic :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?php // on vérifie que la variable $_SESSION['logged'] existe et vaut bien true.
if (isset($_SESSION['logged']) && $_SESSION['logged'] == true)
{
//Ensuite on vérifie que le membre est un admin
$retour = mysql_query('SELECT * FROM membres WHERE id =' . $_SESSION['id']);
$donnees = mysql_fetch_array($retour);
if ($donnees['admin'] == 1)
{
blablabla
}
elseif ($donnees['admin'] == 0)
{
blablabla
}
}
else
{?>
<form method="post" action="connexion.php">
<img id="login1" src="images/login/login1.jpg" alt="login/pass"/>
<input class="f_space" type="text" name="pseudo" maxlength="30" />
<img id="login2" src="images/login/login2.jpg" alt="login/pass"/>
<input class="f_space" type="password" name="mot_passe" maxlength="30" />
<a href="inscrire.php"><img src="images/login/signin.jpg" alt="sign in" /></a>
<input class="b_go" type="image" src="images/login/go.jpg" name="connexion" value="connexion" />
</form>
<?php
}
?> |
et ensuite le script de connexion :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
<?php //Ne pas oublier de mettre le session_start()
session_start(); ?>
//Si la variable $_SESSION['logged'] n'existe pas, on la créée.
if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
echo'<p> Connection en cours ! </p>';
//Ensuite on vérifie que les variables existent et contiennent quelque chose smile
if (isset($_POST['pseudo'], $_POST['mot_passe']) && !empty($_POST['pseudo']) && !empty($_POST['mot_passe']))
{
//Mesure de sécurité, notamment pour éviter les injections sql.
$pseudo = htmlentities(addslashes($_POST['pseudo']));
$mot_passe = htmlentities(addslashes($_POST['mot_passe']));
//Hashage du mot de passe.
$mot_passe = md5($mot_passe);
//La requête qui compte le nombre de pseudos
$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
//La on regarde que le nombre est différent que zéro
if (mysql_result($sql,0,'nb_pseudo') != 0)
{
//Sélection des informations.
$sql_info = mysql_query("SELECT id, pass FROM membres WHERE pseudo='".$pseudo."'");
$donnees_info = mysql_fetch_array($sql_info);
//Si le mot de passe est le même.
if ($donnees_info['pass'] == $mot_passe)
{
//On modifie la variable qui nous indique que le membre est connecté.
$_SESSION['logged'] = true;
//On créé les variables contenant des informations sur le membre.
$id = $donnees_info['id'];
$_SESSION['id'] = $id;
$pseudo = htmlentities(addslashes($_POST['pseudo']));
$_SESSION['pseudo'] = $pseudo;
?>
<head>
<meta http-equiv="refresh" content="1; url=index.php" />
</head>
<?php
}
else
{
echo '<p>Le password est incorrect !</p>';
}
}
else
{
echo '<p>Le pseudo n\'existe pas !</p>';
}
}
else
{
echo '<p>Veuillez remplir les champs !</p>';
}
?> |
Sous mozilla impécable, sous IE, si j'echo le pseudo il le reconnait bien dans le script connexion, il me met connexion réussit mais quand il refresh, les champs de login sont tjs là sweatdrop !! j'ai essayé de virer le refresh, de changer les if et autre, mais aucun changement!!
Quelqu'un aurait une idée pour m'aider merci!!