Erreur php: Cette page Web présente une boucle de redirection.

Résolu
axteure Messages postés 83 Statut Membre -  
axteure Messages postés 83 Statut Membre -
Bonjour,
Dans mon site j'ai un espace membre. L'utilisateur se connecte à partir de la page index.php puis arrive sur la page membre.php. Seulement, lorsque l'utilisateur est connecté, il a quand même accès à la page index.php comme s'il n'était pas connecté.
Donc j'ai essayé ce code: (pour que si l'utilisateur est connecté et qu'il veut accéder a index.php, qu'il soit redirigé directement sur membre.php / et vise versa s'il n'est pas connecté)
<?php
session_start();
 
if(isset($_SESSION['login']))
{
  header('location: membre.php');
}
else
{
  header('location: index.php');
}



Mais le navigateur chrome m'indique l'erreur Cette page Web présente une boucle de redirection :/.

Merci d'avance de votre aide !
A voir également:

9 réponses

mpmp93 Messages postés 7217 Statut Membre 1 340
 
Bonjour,

C'est normal. Vous avez index.php qui appelle index.php. Voici le code qui va bien, à placer en tête de index.php avant tout autre code:

<?php
session_start();
 
if(isset($_SESSION['login']))
{
  header('location: membre.php');
}



Et dans membre.php placer ceci:

session_start();
 
if(!isset($_SESSION['login']))
{
  header('location: index.php');
}



A+
2
axteure Messages postés 83 Statut Membre 3
 
Bah je l'ai mis sur les 2 pour que sa fasse une redirection si le membre est connecté vers membre.php quand il était sur index.php. Puis si le membre n'est pas connecté une vers index.php quand il était sur membre.php...
1
trusttelecom Messages postés 326 Statut Membre 36
 
Peux tu me confirmer ces éléments :

Si on va sur index.php et qu'on est identifié on doit etre redirigé où ?
Si on va sur index.php et qu'on est pas identifié on doit etre redirigé où ?
Si on va sur membre.php et qu'on est identifié on doit etre redirigé où ?
Si on va sur membre.php et qu'on est pas identifié on doit etre redirigé où ?

Dès que tu me donnes ces élements je te donne le scripts à mettre.

a+
1
trusttelecom Messages postés 326 Statut Membre 36
 
Salut,

tu as effectivement un problème si tu place ce code sur la page membre.php ou index.php

car si tu es sur 1 des 2 pages et que tu entres dans le cas de figure, tu as effectivement une boucle infinie.

Sur quelle page met tu ce code ?

a+
0

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

Posez votre question
axteure Messages postés 83 Statut Membre 3
 
Deja la page index.php contient le formulaire de connexion

Si on est sur index.php en étant identifié, on est redirigé vers membre.php
Si on est sur index.php sans être identifié, on reste sur index.php
Si on est sur membre.php en étant connecté, on reste sur membre.php evidement
Si on est sur membre.php sans être connecté, on est redirigé vers index.php
Voila
0
axteure Messages postés 83 Statut Membre 3
 
la page membre.php, c'est quand le membre est connecté ( c'est sa page d'acceuil en faite)
0
trusttelecom Messages postés 326 Statut Membre 36
 
Il te suffit alors de mettre :

SUR index.php :
if(isset($_SESSION['login']))
{
  header('location: membre.php');
}


et de mettre sur membre.php :
if(!isset($_SESSION['login']))
{
  header('location: index.php');
}


et ça marchera sans problème ;)

a+
0
axteure Messages postés 83 Statut Membre 3
 
merci mais jcomprend pas sa marche pas :s
quand je suis connecté et que j'accede a index.php sa me redirige pas vers membre :s
voici le code de membre.php:
<?php
session_start();
if(!isset($_SESSION['login']))
{
header('location: index.php');
}
?>


et celui de index.php:
<?php
if(isset($_SESSION['login']))
{
header('location: membre.php');
}
?>
0
Angelneonizz Messages postés 820 Statut Membre 137
 
Bonjour,

Vérifié peut être le contenu de $_SESSION['login']
avec un echo.
0
axteure Messages postés 83 Statut Membre 3
 
Merci a mpmp93, sa marche ! :)
Merci aussi a trusttelecom de m'avoir éclairé et aussi à Angelneonizz !
Merci les gars (ou les filles ;) ) bye !
0