problème d'authentification

Eléphant du PHP | 139 Messages

11 sept. 2008, 19:46

Bonjour, J'ai un petit problème avec un script d'authentification. Sur Firefox, ça marche très bien. Sur explorer, ça dépend des machines. Il ne semble pas y avoir de lien avec la version d'explorer. On m'a conseillé la ligne suivante :

header("P3P: CP=\"NOI DSP COR CUR ADMa DEVa TAIa OUR BUS UNI\"");

Pas de succès!

voici le code:

Code : Tout sélectionner

<?php ob_start(); session_start(); $_SESSION['permission']="non"; $titre_page = "Connexion"; //**************************************************************************************************************************** if (isset($_POST['submit'])) { include ('echap.php'); if (empty($_POST['username'])) {$u = FALSE; echo "<p><font color='red' size='+1'>". "Vous avez oublié d'indiquer votre nom d'utilisateur</font></p>"; } else { $u = echappement($_POST['username']); } if (empty($_POST['mot_de_passe'])) { $mp = FALSE; echo "<p><font color='red' size='+1'> Vous avez oublié d'indiquer votre mot de passe</font></p>"; } else { $mp = echappement($_POST['mot_de_passe']); } if ($u && $mp) { include ('connexion au serveur.php'); $rq = " SELECT profil FROM table_intervenant WHERE username='$u' AND mot_de_passe='$mp' "; $result = @mysql_query ($rq); $ligne = mysql_fetch_array ($result, MYSQL_NUM); if ($ligne) { echo "passe"; $_SESSION['username'] = $u; $_SESSION['profil'] = $ligne[0]; $_SESSION['permission'] = "ok"; header ("Location:accueil_admin.php"); exit(); } else { echo "<p><font color='red' size='+1'> Le nom d'utilisateur et/ou le mot de passe que vous avez indiqué ne correspondent pas à ceux de notre fichier</font></p>"; } mysql_close(); } else { echo "<p><font color='red' size='+1'>Voulez-vous réessayer ?". "</font></p>"; } } ob_end_flush(); ?> <br /><br /><br /><br /><br /> <fieldset> <div align="center"> <font face="Jenkins v2.0" size="+3"><b>CONNEXION AU SYSTÈME</b> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <p> <b>NOM D'UTILISATEUR:</b> <input type="text" name="username" size="20" maxlength="20" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /> </p> <p> <b>MOT DE PASSE :</b> <input type="password" name="mot_de_passe" size="20" maxlength="20" /> </p> <input type="submit" name="submit" value="Login" /> </font> </form> </div>

Eléphanteau du PHP | 38 Messages

11 sept. 2008, 22:01

Sur Firefox, ça marche très bien. Sur explorer, ça dépend des machines. Il ne semble pas y avoir de lien avec la version d'explorer.
Qu'est ce qui ne marche pas exactement ?

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

11 sept. 2008, 22:16

Si les cookies de session sont désactivées sur un navigateur, ton script ne pourra pas créer une session avec session_start().
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 139 Messages

24 sept. 2008, 02:06

J'ai demandé aux techs de l'école de vérifier et tout semble en règle. Je ne sais pas pourquoi, mais c'est comme si la variable session ne restait pas en mémoire. Je vais essayer de faire afficher la variable dans un autre script.