Page 1 sur 1

Redirection après une connexion

Posté : 10 sept. 2010, 15:00
par sam01
Bonjour,

j'aimerais rediriger automatiquement l'internaute aprsè sa connexion sur la page qu'il voulait initialement, quelles sont les méthodes que vous utilisez ?

Exemple : L'internaute non connecté veut accéder à la page :

pagea.php

je le dirige vers la page

connexion.php

et ensuite, j'aimerais le rediriger automatiquement vers la page :

pagea.php

Merci d'avance pour vos différentes solutions .

ps : il me semble que HTTP_REFERER n'est fiable sur tous les navigateurs...

Re: Redirection après une connexion

Posté : 10 sept. 2010, 16:35
par AB
Le sésame c'est : header("Location: page_destination.php'); doc ici

Donc dans la pagea.php, si le visiteur n'a pas de session d'authentification tu le dirige vers la page d'authentification :
if(!isset($_SESSION['login'])) 
{
header("Location: page_connexion.php');
exit;
}
Et dans la page de connexion, suite à l'authentification, tu le dirige vers pagea.php
if(tests_authentification == ok) 
{
$_SESSION['login'] = $login;
header("Location: pagea.php');
exit;
}
Bien entendu puisque dans cet exemple on utilise les sessions (mais c'est indépendant de l'utilisation de header...) il faut que tes pages commencent par session_start();

Si tu veux mémoriser la page initiale tu peux utiliser $_SERVER['REQUEST_URI'] et la transmettre par exemple dans une variable de session. Donc dans pagea.php :
if(!isset($_SESSION['login'])) 
{
$_SESSION['page_origine'] = $_SERVER['REQUEST_URI'];
header("Location: page_connexion.php');
exit;
}

Re: Redirection après une connexion

Posté : 10 sept. 2010, 16:46
par sam01
Oui d'accord,

mais comment savoir s'il est venu de la pagea.

Comment retrouver la page d'origine ?

Dans mon exemple, c'est la pagea, mais ça peut être la pageb, c, d etc...

Re: Redirection après une connexion

Posté : 10 sept. 2010, 16:52
par AB
En fait tu n'as peut-être pas vu la fin de mon précédent message car je l'ai éditer pour le terminer :)

Re: Redirection après une connexion

Posté : 12 sept. 2010, 21:15
par sam01
Bonsoir AB et désolé pour le retard.

Merci pour ton exemple c'est exactement ce que je voulais.

A +