Authentification ie et firefox

mounelelabrador Messages postés 2 Date d'inscription jeudi 4 mai 2006 Statut Membre Dernière intervention 5 mai 2006 - 5 mai 2006 à 13:58
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007 - 5 mai 2006 à 14:20
Bonjour,

Je dois créer un site avec gestion membres, admins et vu que c'est pour
un cours je ne peux pas vraiment télécharger sur internet des script
tout fais alors j'essaie seul^^ (un ptit coup de main n'est pas
interdit ^^)

Donc voila, j'ai créé ce code d'authentification via bd et ca fontionne bien dans ie mais pas dans firefox.



Pouriez vous me dire pourquoi et si oui me montrer ce qui cloche dans
mon script^^ (n'hésitez pas même si c'este pas au niveau de
l'hautentification)



ps: je risque de revenir souvent vous embeter.



Fichier html:

require_once("login_db.php");

$link= login_db();



Fichier php:
<?php

#########################################################################################################

# Demande d'entrer un login et mot de passe plus
vérification si qqchose est
rentré
#

#########################################################################################################

function login_db(){

if(!isset ($_SERVER["PHP_AUTH_USER"]) or !isset($_SERVER["PHP_AUTH_PW"])){

header("WWW-Authenticate:BASIC realm ="Admin"");

die("Vous devez rentrer vos login et mot de passe");

}

else

#########################################################################################################
#
Vérivication du login et mot de passe présent dans la
base
#

#########################################################################################################

{

$login = $_SERVER["PHP_AUTH_USER"];

$password = $_SERVER["PHP_AUTH_PW"];

$link=mysql_pconnect("localhost","root","");


$db=@mysql_select_db("carocase",$link) or die ("DB
inconnue");

$sql="SELECT
id_admin,type,nom,prenom,rue,code,localite,telephone1,telephone2,fax,mail,login,password
FROM admin WHERE login="$login" AND password="$password"";

$result=mysql_query($sql,$link) or
die ("Error #". mysql_errno() . ": " . mysql_error());


$row = mysql_fetch_assoc($result);

// echo "row=".$row."
";

// echo "nom=".$row['nom']."
";

#########################################################################################################

# Si données incorrect message erreur et
redirection
#

#########################################################################################################

// if (!mysql_fetch_assoc($result)){

if (!$row){

header("WWW-Authenticate:BASIC realm="Admin"");

die("invalide user");

mysql_close($link);

}

else{

#########################################################################################################

# Si données correct message de bienvenue et redirection
vers
menu
#

#########################################################################################################

echo "bienvenue ".$row['nom']." ".$row['prenom'];

mysql_close($link);

}



}

}

?>

3 réponses

cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
5 mai 2006 à 14:08
Mais tu fais un require() dans un fichier HTML ???? ->D'abord tu change l'extension de ton fichier de HTML en PHP.

Ensuite il n'y a aucune raison que ça marche sous IE et pas sous FireFox, vu que php est une sorte de préprocesseur et ne s'exécute que sur le serveur ou il est stocké. Ensuite pour récupérer $password et $login utilise les superglobales $_GET ou $_POST (tout dépend du mode d'envoi de ton formulaire) et tu fais ceci :
$password = $_POST['password'];
$login = $_POSt['login'];
Spyro666 contre le 555
mounelelabrador Messages postés 2 Date d'inscription jeudi 4 mai 2006 Statut Membre Dernière intervention 5 mai 2006
5 mai 2006 à 14:16
Oui sory c'etait un fichier php aussi (pas taper ^^).



Mais bon plus ca avance et plus je me dit que je passerai par un formulaire et plus par

$_SERVER["PHP_AUTH_USER"];

$_SERVER["PHP_AUTH_PW"];



Encore merci de la réponse rapide.



@pluche
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
5 mai 2006 à 14:20
Franchement t'a meilleur temps aussi. Non seulement ça permet de faire plus d'un utilisateur sans trop de problème comparé à la technique avec PHP_AUTH_USER.

Spyro666 contre le 555
Rejoignez-nous