Bonjour,
je refais une discussion car je croyais avoir résolu mon problème de la discussion précédente, mais j'ai trouvé un cas où ça ne marche pas.
Cette fois, je vais essayer de donner des détails.
D'abord, j'ai écrit un formulaire de connexion :
login.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<form action="<?php echo SITE_URL_HTTP;?>/pagesave/authenticate.php" method="post"> </form>
avec son action authenticate.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php //action de login.php session_start(); function authentification() { $_SESSION['auth']=$auth; // mise de $auth en session return($auth); // la valeur de retour de la fonction authentification est $auth } $auth=authentification(); //l'action exécute la fonction authentification() dont la valeur de retour est mise dans la variable $auth if ($auth) { ?> <script> history.go(-1);</script> <?php }// si connexion réussie, on va à la page précédente (en js) et sinon, on retourne dans le formulaire de connexion (login.php) else { header ('Location: '."../".'login.php' ); }
J'inclus le fichier login.php dans mes différentes pages. Ici le fichier index.php pour la mise au point :
index.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php session_start(); header( 'content-type: text/html; charset=utf-8' ); $_SESSION['ici']=__FILE__; //on mémorise en session l'URL de ce fichier (plus utilisé !) if (!(isset($_SESSION['auth'])) || !$_SESSION['auth']) include_once('login.php'); //si pas connecté, on va dans le formulaire de connexion (login.php) et sinon "connexion OK" else echo "connexion OK<br/>";?>
Le retour à la page précedente en js de la ligne 10 de authenticate.php fonctionne bien si dès le départ, on entre des paramètres de connexion corrects, mais si on commence par entrer des paramètres incorrects, on revient au formulaire de connexion (login.php)(normal) ; si cette fois, on entre des paramètres corrects, la ligne 10 de authenticate.php nous redonne login.php au lieu de index.php, donc comment serait une bonne façon de procéder ?









Répondre avec citation


Partager