Authentification

aurad -  
 Laurent G -
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

  1. Laurent G
     
    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