DarkSchneider
Messages postés37Date d'inscriptionmercredi 29 mai 2002StatutMembreDernière intervention10 juin 2005
-
25 nov. 2003 à 00:08
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 2004
-
25 nov. 2003 à 18:15
Salut tout le monde.
Cette fois, ce sont les sessions qui m'amènent ici. Voilà mon problème. Je dispose de 3 pages, disons index.php, 1.php et 2. php
Sur index.php se trouve un formulaire d'authentification banal, on saisit son login et son pass, et on clique envoyer qui envoie sur 1.php
1.php teste si le log et le pass sont correcte. Si c'est le cas, j'ouvre ma session de la façon suivante :
session_start();
session_register("log");
session_register("i");
$snam=session_name();
$sid=session_id();
Si pas le cas, envoie sur une page d'erreur
Toujours sur 1.php, un lien se trouve envoyant sur 2.php
Sur 2.php, je vérifie qu'il est loggé comme ça :
session_start();
if(!session_is_registered("log"))
{
echo "Erreur !!! Erreur !!! Erreur !!!";
}
else
{
ouverture de la page
}
Sur cette page se trouve un lien qui revient sur 1.php
Lorsque je clique sur ce lien, je suis renvoyé sur la page d'erreur qui est généré par la page 1.php dans le cas ou log et pass sont incorrecte. Pourquoi ? Pourquoi je ne reviens pas normalement sur cette page. J'ai essayé de passer deux variable avec session_register, le log et le pass dans le cas où ma page 1.php les voulait tous les deux. Or l'erreur est toujours présente.
Si quelqu'un connait un moyen de contourner ce problème. Merci et bonne prog.
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 20041 25 nov. 2003 à 18:15
Dans la page 1.php, si tu ne met aucune structure de contrôle (if, else, ...) la page 1.php recherchera des infos qui viennent d'un formulaire.
Dans le action="" de ta balise <form> de index.php, met ça :
action="1.php?action=login"
Dans 1.php
<?
if (isset($_GET["action"]) && $_GET["action"]=="login")
{
// On récupère les données du formulaire et
// on crée notre session
}
else
{
// On vient sur cette page intentionnément, sans
// passer par le formulaire, donc c'est la page
// normale qui est affichée
}
?>