Pb de header:comment faire une authentificati
Résolu
ethan55
Messages postés
42
Statut
Membre
-
Timon1102 Messages postés 354 Statut Membre -
Timon1102 Messages postés 354 Statut Membre -
je travaille sur EasyPhp et j essaie de faire une authentification HTTP pour ma page da acceuil.
Je vous montre mon code:
<?php
$auth=FALSE;
if ((isset($_SERVER['PHP_AUTH_USER']) AND
isset($_SERVER['PHP_AUTH_PW'])))
{
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_HOST','localhost');
define('DB_NAME','s_c_l_s');
$bd=@mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die ('Connexion à MySQL impossible:'.mysql_error());
mysql_select_db(DB_NAME)
OR die ('Sélection de la base de donnees impossible:'.mysql_error());
$rq="SELECT nom from ingenieur where nom='{$_SERVER['PHP_AUTH_USER']}'
AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW'] }')";
$result=mysql_query($rq);
$ligne=@mysql_fetch_array($result);
if($ligne)
{$auth=TRUE;}}
if(!$auth){
header('WWW-Authenticate:Basic realm="Sunbelt Call Logging System"');
header('HTTP/1.0 401 Unauthorized');}
?>
<html>
<body>
</html>
</body>
et voila ce que j obtiens :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-82\www\auth.php:3) in c:\program files\easyphp1-82\www\auth.php on line 25
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-82\www\auth.php:3) in c:\program files\easyphp1-82\www\auth.php on line 26
Si vous pouvez peut etre m aider ca serait tres sympa ...
Je vous montre mon code:
<?php
$auth=FALSE;
if ((isset($_SERVER['PHP_AUTH_USER']) AND
isset($_SERVER['PHP_AUTH_PW'])))
{
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_HOST','localhost');
define('DB_NAME','s_c_l_s');
$bd=@mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die ('Connexion à MySQL impossible:'.mysql_error());
mysql_select_db(DB_NAME)
OR die ('Sélection de la base de donnees impossible:'.mysql_error());
$rq="SELECT nom from ingenieur where nom='{$_SERVER['PHP_AUTH_USER']}'
AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW'] }')";
$result=mysql_query($rq);
$ligne=@mysql_fetch_array($result);
if($ligne)
{$auth=TRUE;}}
if(!$auth){
header('WWW-Authenticate:Basic realm="Sunbelt Call Logging System"');
header('HTTP/1.0 401 Unauthorized');}
?>
<html>
<body>
</html>
</body>
et voila ce que j obtiens :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-82\www\auth.php:3) in c:\program files\easyphp1-82\www\auth.php on line 25
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-82\www\auth.php:3) in c:\program files\easyphp1-82\www\auth.php on line 26
Si vous pouvez peut etre m aider ca serait tres sympa ...
A voir également:
- Pb de header:comment faire une authentificati
- Bad pool header ✓ - Forum Windows
- Your browser sent a request that this server could not understand. size of a request header field exceeds server limit. ✓ - Forum Bureautique
- Bad request ... - Forum Réseaux sociaux
- Rgb header c'est quoi - Forum Carte-mère/mémoire
- 400 bad request request header or cookie too large ✓ - Forum Google Chrome
71 réponses
Bon ecoute la requete ne marche pas .Je vais manger et on se recontacte vers 2h si tu peux
Merci bêaucoup
Merci bêaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
moi j'aime bien, c'est une super capitale, mais en concentré. Ya des arbres partout, plein de trucs a voir/faire, mais ya toujours un put*** de vent
deja tu sais que ca vient de ta requete sql
donc $result n'est pas un resultat valide et ca fait une erreur qq part
donc $result n'est pas un resultat valide et ca fait une erreur qq part
essaye ca
$rq="SELECT nom from ingenieur where nom='{$_SERVER['PHP_AUTH_USER']}'
AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW'] }')";
$result=mysql_query($rq);
$ligne=mysql_fetch_array($result);
echo "$rq<br>" ;
foreach($ligne as $k=>$v) echo "$k => $v<br>" ;
if($ligne)
{$auth=TRUE;} */}
/*
if(!$auth){header('WWW-Authenticate:Basic realm="Sunbelt Call Logging System"');
header('HTTP/1.0 401 Unauthorized'); }
*/
Voila le pg que j ai mis:
<?php
$auth=FALSE;
if ((isset($_SERVER['PHP_AUTH_USER']) AND
isset($_SERVER['PHP_AUTH_PW'])))
{
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_HOST','localhost');
define('DB_NAME','s_c_l_s');
$bd=@mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die ('Connexion à MySQL impossible:'.mysql_error());
mysql_select_db(DB_NAME)
OR die ('Sélection de la base de donnees impossible:'.mysql_error());
$rq="SELECT nom from ingenieur where nom='{$_SERVER['PHP_AUTH_USER']}'
AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW'] }')";
$result=mysql_query($rq);
$ligne=mysql_fetch_array($result);
foreach($ligne as $k=>$v) echo "$k => $v<br>" ;
if($ligne)
{$auth=TRUE;} }
/*
if(!$auth){header('WWW-Authenticate:Basic realm="Sunbelt Call Logging System"');
header('HTTP/1.0 401 Unauthorized'); }
*/
?>
et le resultat est une page blanche...
<?php
$auth=FALSE;
if ((isset($_SERVER['PHP_AUTH_USER']) AND
isset($_SERVER['PHP_AUTH_PW'])))
{
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_HOST','localhost');
define('DB_NAME','s_c_l_s');
$bd=@mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die ('Connexion à MySQL impossible:'.mysql_error());
mysql_select_db(DB_NAME)
OR die ('Sélection de la base de donnees impossible:'.mysql_error());
$rq="SELECT nom from ingenieur where nom='{$_SERVER['PHP_AUTH_USER']}'
AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW'] }')";
$result=mysql_query($rq);
$ligne=mysql_fetch_array($result);
foreach($ligne as $k=>$v) echo "$k => $v<br>" ;
if($ligne)
{$auth=TRUE;} }
/*
if(!$auth){header('WWW-Authenticate:Basic realm="Sunbelt Call Logging System"');
header('HTTP/1.0 401 Unauthorized'); }
*/
?>
et le resultat est une page blanche...
pour afficher la requete un simple echo "$rq<br>" ; suffit.
Je t'avoue que je n'ai jamais utilisé ce genre de chose pour l'identification... donc peut etre que si tu cries assez fort qqun t'entendra et t'expliquera... :-S
Je t'avoue que je n'ai jamais utilisé ce genre de chose pour l'identification... donc peut etre que si tu cries assez fort qqun t'entendra et t'expliquera... :-S
euh, moi j'ai adopté les sessions. sur une page tu fait ton identification avec un formulaire (login ? mot de passe ?), puis si c'est pas ok tu di "pas ok", si c'est ok tu dis"vazy navigue sur mon site". en fait au debut de chaque page le test suivant suffit
sachant que level, c'est arbitraire(c'est moi qui est choisi).
Parexemple un site avec un chercheur d'emploi, un employeur, et un admin : j'ai mis level=1 pour admin, 2 pour employeur, 3 pour job seeker... enfin tu vois ?
<?php session_start();
if($_SESSION['level']!=1) header("Location: ./identify.php");
?>
sachant que level, c'est arbitraire(c'est moi qui est choisi).
Parexemple un site avec un chercheur d'emploi, un employeur, et un admin : j'ai mis level=1 pour admin, 2 pour employeur, 3 pour job seeker... enfin tu vois ?