Authentification

Fermé
aurad - 5 avril 2004 à 17:50
 Laurent G - 8 avril 2004 à 16:36
je veux realiser un systeme d'authentification j'ai ecris le code suivant ;le login et le mot de passe sont ds une table de bd;je donne le login et le mot correct ,mais la boite de dialoge apparaît deux fois encore et enfin donne accés non authoriser;voila le scripte, si vous pouvez trouver le probleme ;

<?php
$auth=false;
if (isset($PHP_AUTH_USER) && isset($PHP_AUTH_PW)) {
$link = mysql_connect("localhost", "root", "")
or die("Could not connect");
/*echo "Connexion réussie"*/;
mysql_select_db("ged1") or die("Could not select database");

/* Exécuter des requêtes SQL */
$query = "SELECT * FROM redacteur WHERE login=\"$PHP_AUTH_USER\" AND password=\"$PHP_AUTH_PW\" ";
$resultat= mysql_query($query) or die("Query failed");
$Nombre=mysql_num_rows($resultat);

if($Nombre != 0) {
$auth=true;
}
}
if (!$auth) {
header('WWW-Authenticate: Basic realm="Private" ');
header(' HTTP /1.0 401 Unauthorized ' );
echo "accés non autoriser";
exit;
}
else {
echo" accés authoriser";
}
?>

1 réponse

G pas compris grand chose a ton code (désolé).mais j'ai une autre solution : La session :

<!-- Page permettant d'ouvrir une session -->

<?php

if ($envoi != "")
{
	$base = "webloc";
	$conn = mysql_connect("localhost","root","") 
		OR DIE ("Connexion impossible");
	mysql_select_db($base)
		OR DIE ("Base inconnue");

if ($envoi == "2")
{
		$new = mysql_query("INSERT INTO client(idClient) VALUES(NULL)") OR DIE("Nouveau client impossible");
		$idCli = mysql_insert_id($conn);
		
}

$result = mysql_query("select * FROM client where idClient='$idCli' AND mot_de_passe = '$motPass'");
$nb_result= mysql_num_rows($result);
if ($nb_result != 0) {
	session_start();
	$cli = mysql_fetch_object($result);
	session_register("cli");

$retour="Client.php?";

	header ("Location: $retour");
}
else {
	$message = "utilisateur inconnu";
}
}
?>



<!-- Page principale -->

<?php
session_start();
 if (!session_is_registered("cli"))
 	header("Location: Identification.php?numReserv=$numReserv&LD_VilleDep=$LD_VilleDep&LD_VilleArr=$LD_VilleArr&modif=0&immatriculation=$immatriculation&dateD=$dateD&dateR=$dateR&retour=CA_Client.php&envoi&message");




explication :

si la personne ne s'est pas identifiée : la page d'identification s'ouvre. Puis on revient sur la page principale
0