8795 sujets

Développement web côté serveur, CMS

bonjour, j'ai été amené à faire un système de membre et donc de connection pour mon site, le problème est qu'il ne marche pas sous IE, et j'ai beau tout tester Smiley bawling

voici mon script de login classic :

<?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
{?>
				<div id="log0">
                <form method="post" action="connexion.php">
				<div id="log1">
								<img id="login1" src="images/login/login1.jpg" alt="login/pass"/>
								<input class="f_space" type="text" name="pseudo"  maxlength="30" />
				</div>
				<div id="log2">
								<img id="login2" src="images/login/login2.jpg" alt="login/pass"/>
								<input class="f_space" type="password" name="mot_passe" maxlength="30" />
				</div>
				
				<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>
				</div>
				
				
<?php
}
?>


et ensuite le script de connexion :

<?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à Smiley 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!!
Modifié par eMeRiKa (15 Jun 2006 - 17:36)
Ce n'est pas un problème isolé à mon seul PC, mais bien à tous les utilisateurs de Ie, et je n'utilise pas les cookies, donc impossible que le problème viennent de là!!

Tjs pas de solution en vue? Mais comment font les milliers de sites avec connection Smiley bawling
salut,

Utilises-tu un redirection (nom de domaine) pour ton site ?
Car le problème pourrait peut être venir de là Smiley cligne