session sécurisé????????????

Eléphant du PHP | 130 Messages

01 avr. 2005, 11:10

voila mon probleme
pour passer de page1.php à page2.php je veux une authentification de l'utilisateur donc tout en haut de mon code dans page2.php j'ai ecrit ceci
<?php
  include ("connexion_serveur_et_base.php");
  if(!isset($PHP_AUTH_USER))
  {
    header("WWW-Authenticate: Basic realm=\"Micro Application\"");
    header("HTTP/1.0 401 Unauthorized");
    echo "Accès refusé\n";
    exit;
  }
  else 
  {
    $requete="SELECT nom,password
              FROM utilisateurs 
              WHERE password='$PHP_AUTH_PW' 
				 AND nom='$PHP_AUTH_USER'";
					   
    $resultat=mysql_query($requete,$connexion);
    $nombre_de_resultats=mysql_num_rows($resultat);
    if ($nombre_de_resultats==0)
	{
      header("WWW-Authenticate: Basic realm=\"Micro Application\"");
      header("HTTP/1.0 401 Unauthorized");
      echo "Accès refusé\n";
      echo "<a href=$PHP_SELF>Cliquez ici pour vous identifier ";
      echo "de nouveau</a>";
      exit;
    };
  };
?>
problème il ne fait que relancer la fenetre d'authentification ou acces refusé.
La connexion à la base et à la table fonctionne bien

que faire?????

Eléphant du PHP | 161 Messages

01 avr. 2005, 11:31

salut,
tu peux éditer ton message et le mettre entre balise
 pour qu'on y voit plus clair

Mammouth du PHP | 19672 Messages

01 avr. 2005, 11:49

D'abord, tu as des ";" qui n'ont rien à faire là où ils sont: ton code devrait donc être :
<?php
include ("connexion_serveur_et_base.php");
if(!isset($PHP_AUTH_USER))
{
	header("WWW-Authenticate: Basic realm=\"Micro Application\"");
	header("HTTP/1.0 401 Unauthorized");
	echo "Accès refusé\n";
	exit;
}
else
{
	$requete="SELECT nom,password FROM utilisateurs WHERE password='". $PHP_AUTH_PW ."' AND nom='". $PHP_AUTH_USER ."'";

	$resultat=mysql_query($requete,$connexion);
	$nombre_de_resultats=mysql_num_rows($resultat);
	if ($nombre_de_resultats==0)
	{
		header("WWW-Authenticate: Basic realm=\"Micro Application\"");
		header("HTTP/1.0 401 Unauthorized");
		echo "Accès refusé\n";
		echo "<a href=". $_SERVER['PHP_SELF'] .">Cliquez ici pour vous identifier de nouveau</a>\n";
		exit;
	}
}
?>
Ensuite, essaye de déconnecter : ferme ton navigateur (comlètement), relance le et essaye de te connecter: sinon, tu as des infos dans un cookie qui peuvent bloquer l'authentification normale. En tous cas j'ai déjà vécu ce problème et cette méthode est pour l'instant la plus simple que j'ai trouvé.
Si ça ne fonctionne toujours pas, il y a une erreur ailleurs.
As-tu d'autres messages d'erreur ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 130 Messages

01 avr. 2005, 12:40

oui deux

Notice: Undefined variable: PHP_AUTH_PW in c:\program files\easyphp1-7\www\test\toto.php on line 12

Notice: Undefined variable: PHP_AUTH_USER in c:\program files\easyphp1-7\www\test\toto.php on line 12

Mammouth du PHP | 19672 Messages

01 avr. 2005, 12:50

Vive Google, j'ai trouvé ==>ça<==, ça devrait t'aider
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 130 Messages

01 avr. 2005, 14:22

Je recopie les lignes de code fournie par ton lien mais rien ne fonctionne il ne reconnait pas les variables PHP_AUTH_USER et PHP_AUTH_PW

Est ce que cela peut être dû à easyphp1-7 ????

J'ai des messages d'erreur qui apparaissentpour casiment toutes mes variables

Eléphant du PHP | 130 Messages

01 avr. 2005, 17:18

coucou il y a quelqu'un parceque là c'est un grand moment de solitude

ViPHP
fab
ViPHP | 2657 Messages

01 avr. 2005, 20:20

tu as peut etre register_globals à off donc il te faut utiliser $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW']

Eléphant du PHP | 130 Messages

02 avr. 2005, 10:18

Merci Ca marche

En fait je n'avais qu'un seul register global = on dans mon php.ini
L'autre etait encore sur off