Authentification
aurad
-
Laurent G -
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";
}
?>
<?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";
}
?>
A voir également:
- Authentification
- Double authentification google - Guide
- Code a 6 chiffres application d'authentification instagram - Forum Instagram
- Authentification snapchat numéro changer ✓ - Forum Snapchat
- Désactiver l'authentification à deux facteurs instagram sans se connecter - Forum Instagram
- Application d'authentification facebook - Guide
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 -->
<!-- Page principale -->
explication :
si la personne ne s'est pas identifiée : la page d'identification s'ouvre. Puis on revient sur la page principale
<!-- 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