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
Euh... Tu as un déjà écris un message presque identique:
http://www.commentcamarche.net/forum/affich-1638183-probleme-de-header
Vérifie que rien n'est ecris avant la balise d'ouverture <?php
...pas même le moindre espace.
http://www.commentcamarche.net/forum/affich-1638183-probleme-de-header
Vérifie que rien n'est ecris avant la balise d'ouverture <?php
...pas même le moindre espace.
je sais que j ai deja pose la question mais je n ai pas recu de reponse...
il n y a rien avant <?php que faire???
il n y a rien avant <?php que faire???
Peut être parce que ton code génère des erreurs, et donc du coup l'affichage commence.
Par exemple avec ça tu risques d'avoir une erreur:
'{$_SERVER['PHP_AUTH_USER']}' (des guillemets simples dans des guillemets simples, ça crée une erreur si elle ne sont pas échappées).
Par exemple avec ça tu risques d'avoir une erreur:
'{$_SERVER['PHP_AUTH_USER']}' (des guillemets simples dans des guillemets simples, ça crée une erreur si elle ne sont pas échappées).
je ne crois pas qu il y ait d errreur car je la i recopie d un livre.
Alors peut etre que le pb vient de config.ini
Ques t en penses?
Alors peut etre que le pb vient de config.ini
Ques t en penses?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
$rq="SELECT nom from ingenieur where nom='{".$_SERVER['PHP_AUTH_USER']."}'
AND password=PASSWORD('{".$_SERVER['PHP_AUTH_PW'] ."}')";
$result=mysql_query($rq);
d'une part, et d'autre part
tu est sur des {} ?
enfin, pour finir, ne prends pas pour argent comptant ce que tu trouves dans les bouquins
Merci pour ta reponse
Mais j ai change ce que tu ma as demande mais ca affiche tjrs le meme message d erreur .
A part ca ja ai compris ton truc de {}
Que faire?.......
Mais j ai change ce que tu ma as demande mais ca affiche tjrs le meme message d erreur .
A part ca ja ai compris ton truc de {}
Que faire?.......
c 'est juste qu'apparement tes champs dans ta base (tu y a accès pour verifier ?) sont tous encadrés d'accolades ? en tous cas, d'apres ta requete... ca me parait bizarre.
sinon degage temporairement les headers et regardes les affichages qui sont faits...
c'est sur qu'il ya une erreur de générée, qui fausse donc toute la donne.
sinon degage temporairement les headers et regardes les affichages qui sont faits...
c'est sur qu'il ya une erreur de générée, qui fausse donc toute la donne.
Merci pour ta reponse mais je dois y aller il faut que je continues ca demain
Est que demain tu seras la le matin sur ce site?
Est que demain tu seras la le matin sur ce site?
je commence a 8h30, soit 9h30 heure francaise, mais je ne file pas directement sur le forum... ca serai louche, lol. mai je suis la juska 17h, soit 18h francaises. @demain
essaie de mettre ton code en commentaire comme ca :
<?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'); //}
?>
tu me dis si ca te fait tj des erreurs
Ok merci pour ton reponse.mais j ai encore des problemes.
Le script marche mais moi j aimerais pouvoir rentrer les logins et mot de passe que j ai rentre dans la base de donnes sur la table 'ingenieur'.Or la il ne marche qu avec mon adresse et mot de passe MSN .
A part ca j aimerais qu il y ait l 'authentification avant l'ouverture de la page d'acceuil de ma base de donnes.Et je mets require_once('auth.php') dans mon script de page d acceuil et la il me remet le meme message d erreur qu avant
Si tu as une idee merci de me repondre...
Le script marche mais moi j aimerais pouvoir rentrer les logins et mot de passe que j ai rentre dans la base de donnes sur la table 'ingenieur'.Or la il ne marche qu avec mon adresse et mot de passe MSN .
A part ca j aimerais qu il y ait l 'authentification avant l'ouverture de la page d'acceuil de ma base de donnes.Et je mets require_once('auth.php') dans mon script de page d acceuil et la il me remet le meme message d erreur qu avant
Si tu as une idee merci de me repondre...
la mise en commentaire n'est qu'une étape, pour voir où ca cloche. Donc si tu met en commentaire comme je t'ai dit tu n'as plus le message d'erreur ?
ok, alors essaye ca et dit moi si y a tj po d'erreur :
<?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'); //}
?>
desolé c'est de mafaute
<?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'); //}
?>
$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;}
le pb vient de la
tu a acces a phpmyadmin ? faudrai tester ta requete sql.
sinon essaye de mettre @ devant mysql_query, mai c futile.