Pb de header:comment faire une authentificati

Résolu/Fermé
ethan55 Messages postés 42 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 21 novembre 2005 - 5 juil. 2005 à 11:31
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 - 7 juil. 2005 à 16:00
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 ...

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
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 12:30
14h pour toi = 13h pour moi, donc je ne serais pas la avant 15h francaises
0
tu habites a londres?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 15:03
nan, je suis a Cardiff, mais me reste que 4jours
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ah ok j etais a dublin londres mais cardiff jamais c bien la bas?
0
ah ok j etais a dublin londres mais cardiff jamais c bien la bas?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 15:15
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
0
En tout cas ca serait super cool si j arrivais a resoudre ce pb...
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 15:17
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
0
ok bien compris mais l'erreur est ou,telle est la question?,??
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 15:30
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'); } 
*/
0
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...
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 15:36
affiche ta requete aussi ($rq)

tu a essayé avec des login/mdp qui sont dans la base ?
0
Comment j affiche la requete?
En plus,que signifie $_SERVER['PHP_AUTH_USER']
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 15:52
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
0
ok t as une autre solution pour l identification
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 16:42
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
<?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 ?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
6 juil. 2005 à 17:05
t'es mort ?
0
salut Timon .
Exuse moi pour hier j ai du partir en urgence.
elle est tres bien ton idee que tu viens de me donner.Il faudrait juste que tu m'expliques toutes les etapes car comme tu as du le remarquer,j ai un peu de mal.....
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
7 juil. 2005 à 11:15
moui, je peux t'expliquer mais faut que tu me dises quel est ton niveau... les formulaires c'est ok ? et le PHP de base pour recuperer les données d'un form ($_POST) ?
0