Aller au contenu

Protéger une page par mot de passe ( php )


Sujets conseillés

Posté

J'ai essayé de faire une page protégée par mot de passe ( voir codebox ) et lors de la visualisation, le message d'erreur est le suivant:

Notice: Undefined variable: T1 in c:\program files\easyphp1-7\www\php_stage_senlis\motpass.php on line 7

Je ne comprends pas ce qui se passe ! C'est peut-être très simple mais je suis un débutant !!!


<html>
<head>
<title>Nouvelle page 1</title>
</head>
<body>
<?
if($T1=="joker")
{
?>
<h2>Ici sont écrites les données protégées</h2>
<?
}else{
?>
<form method="POST" action="motpass.php">
<p>Entrer le mot de passe pour accéder à la page protégée:<input type="password" name="T1" size="20"></p>
<p><input type="submit" value="Envoyer" name="B1"><input type="reset"value="Rétablir" name="B2"></p>
</form>
<?
}
?>
</body>
</html>

Posté

Voici un code qui fonctionne bien, et qui te permet d'utiliser l'autentification http sans utiliser de fichier .htaccess.

Remplace "login" et "mot-de-passe" par les valeurs que tu veux.

<?php
if ( ($PHP_AUTH_USER=="login") and ($PHP_AUTH_PW=="mot-de-passe") )
    {$auth=true;}
else
    {$auth=false;}    

if (!$auth) {
    header( 'WWW-Authenticate: Basic realm="Compte gestionnaire"' );
    header( 'HTTP/1.0 401 Unauthorized' );
    print "<html><head><title> ACCES NON AUTORISE</title></head><body>";
    print "<center>Authentification nécessaire</center></html>";
    exit;
}
else {
// ici le code de la page protégée complète entre <html> et </html>
}
?>

Dan

Posté

Ok jeroen mais comme c'est pour accéder à une page avec un mot de passe, si j'affecte, en début de script, à ma variable T1 le mot de passe lui-même, le champ de saisie du mot de passe et "zappé" et lors du chargement de ma page j'arrive tout de suite à mes données protégées. De plus, le message d'erreur est toujours présent. Que dois-je faire exactement ?

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...