|
|
|
|
Salut tout le monde, voila j'ai récup ce script :
<?php
header("WWW-Authenticate: Basic realm='private'");
if (($PHP_AUTH_USER=="*********") && ($PHP_AUTH_PW=="****")) {
echo "<HTML><BODY>";
echo "Vous etes maintenant identifié.\n";
echo "</BODY></HTML>";
} else {
header("WWW-Authenticate: Basic realm='private'");
}
?>
<?php
if (!isset($PHP_AUTH_USER) || !isset($PHP_AUTH_PW)) {
header("WWW-Authenticate: Basic realm='private'");
echo $PHP_AUTH_USER;
echo $PHP_AUTH_PW;}
?>
voila j'ai tester ça, tu es d'accord que mon code est correct? voila ce ke ça me retourne : Notice: Undefined variable: PHP_AUTH_USER on line 4 Notice: Undefined variable: PHP_AUTH_PW on line 5 Je te donne le lien du site ou j'ai trouvé ça en pensant que tu pourra trouver mon erreur. http://www.grappa.univ-lille3.fr/polys/reseaux-DG/reseaux020.html#toc84 Merci d'avance... |
Pour taper ton login et mot de passe, tu dois avoir un formulaire je suppose?
<form method="post" action="pageauthentification.php"> Votre login:<input type="text" id="USER"/> Votre mot de passe:<input type="password" id="PW"/> </form> pageauthentification.php
<?php
header("WWW-Authenticate: Basic realm='private'");
/*on récupère les données ddu formulaire et on les stcoke dans les variables PHP_AUTH_USER et PHP_AUTH_PW*/
$PHP_AUTH_USER= $_POST["USER"];
$PHP_AUTH_PW= $_POST["PW"];
/*Là c'est ton code qui teste la valeur des variables auquel je n'ai pas touché*/
if (($PHP_AUTH_USER=="*********") && ($PHP_AUTH_PW=="****")) {
echo "<HTML><BODY>";
echo "Vous etes maintenant identifié.\n";
echo "</BODY></HTML>";
} else {
header("WWW-Authenticate: Basic realm='private'");
}
?>
if(Chui fatigué) prog marche pas(chépaspourkoi); elseif(chui enforme) prog fonctionne(chépaspourkoinonplus); |
Sur free ils disent de faire comme ca :
if ( !isset($_SERVER['PHP_AUTH_USER'])
|| !isset($_SERVER['PHP_AUTH_PW'])
|| ($_SERVER['PHP_AUTH_USER'] !== "nom_d_utilisateur" )
|| ($_SERVER['PHP_AUTH_PW'] !== "mot_de_passe") )
{
header('WWW-Authenticate: Basic realm="Authentifiez vous"');
header('HTTP/1.0 401 Unauthorized');
echo 'Acces non autorisé';
exit;
}
echo 'Utilisateur authentifié';
voir : http://faq.free.fr/?q=1055 |
Répondre à psaikopat
|
Concernant mon message j'ai oublié quelques détails. Dans le code du formulaire jJ'avais mis id="USER et id="PW"" alors que poru que ça passe, il faut mettre name="USER" et name="PW", et il faut mettre un bouton pour envoyer le script:
<html> <head> <title>Ma page de connexion</title> </head> <body> <form method="post" action="pageauthentification.php"> Votre login:<input type="text" name="USER"/> <br>Votre mot de passe:<input type="password" name="PW"/> <br><input type="submit" Value="Se connecter"> </body> </form> </html> Dans la page d'authentification, j'ai enlevé les :"header("WWW-Authenticate: Basic realm='private'"); " car la méthode d'authentification que j'utilise fonctionne avec un formulaire directement sur la page html et non pas une nouvelle fenêtre qui s'ouvre par dessus: pageauthentification.php:
<?php
/*on récupère les données ddu formulaire et on les stcoke dans les variables PHP_AUTH_USER et PHP_AUTH_PW*/
$PHP_AUTH_USER= $_POST["USER"];
$PHP_AUTH_PW= $_POST["PW"];
/*Là c'est ton code qui teste la valeur des variables auquel je n'ai pas touché*/
if (($PHP_AUTH_USER=="abcde") && ($PHP_AUTH_PW=="abc")) {
echo "<HTML><BODY>";
echo "Vous etes maintenant identifié.\n";
echo "</BODY></HTML>";
} else {
echo "Login et/ou mot de passe inconnu.";
}
?>
C'est une méthode différente mais ça marche avec le code que je t'ai mis.Il faut bien mettre les 2 codes dans deux fichiers séparés et le code PHP doit bien avoir le même nom que celui qui est marqué dans le paramètre "action=" du formulaire. Cette méthode d'authentification est celle utilisé sur la plupart des sites mais la méthode que tu as utilisé fonctionne donc c bien aussi, c'est juste la façon d'afficher qui diffère. Bonne journée et à bientôt.Cédric NEVEUX. Tech. info recherche un emploi correctement payé et intéress |