Quand l'utilisateur charge la page, $_SERVER['PHP_AUTH_USER'] n'existe pas, alors on entre dans le bloc vrai du if(!isset($_SERVER['PHP_AUTH_USER']))
Ensuite la ligne : header('WWW-Authenticate: Basic realm="t qui"');
envoi un message au browser d'afficher la fenetre de login
Puis la ligne : header('HTTP/1.0 401 Unauthorized');
Intercepte le message si l'utilisateur appuy sur annuler ou ferme la fenetre de login.
Les lignes :
print("contenu si l'utilisateur appuy sur annuler ou ferme la fenetre");
exit;
ne sont exécutés que si l'utilisateur ferme la fenetre ou appuy sur le bouton annuler.
Si l'utilisateur entre un nom d'utilisateur ou un mot de passe, la page est automatiquement rappelée, mais cette fois $_SERVER['PHP_AUTH_USER'] contiendra le nom d'utilisateur et $_SERVER['PHP_AUTH_PW'] contiendra le mot de passe.
Donc cette fois on entre dans le bloc faux du : if(!isset($_SERVER['PHP_AUTH_USER']))
Ensuite vous validez si le nom d'utilisateur et le mot de passe sont valide et vous faites l'action que vous voulez dans ce cas j'ai fait :
if(nom d'utilisateur et ou mot de passe invalide)
{
print("vous n'etes pas autorisé a voir cette page.");
exit;
}