Erreur php: Cette page Web présente une boucle de redirection. [Résolu/Fermé]

Signaler
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
-
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
-
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 !

9 réponses

Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 271
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
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...
Messages postés
264
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
7 octobre 2013
35
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+
Messages postés
264
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
7 octobre 2013
35
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+
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
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
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
3
la page membre.php, c'est quand le membre est connecté ( c'est sa page d'acceuil en faite)
Messages postés
264
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
7 octobre 2013
35
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+
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
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');
}
?>
Messages postés
790
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
19 février 2018
166
Bonjour,

Vérifié peut être le contenu de $_SESSION['login']
avec un echo.
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
3
Merci a mpmp93, sa marche ! :)
Merci aussi a trusttelecom de m'avoir éclairé et aussi à Angelneonizz !
Merci les gars (ou les filles ;) ) bye !