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

Résolu/Fermé
axteure
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
- 25 avril 2013 à 11:14
axteure
Messages postés
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
- 25 avril 2013 à 13:28
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

mpmp93
Messages postés
6651
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 319
25 avril 2013 à 12:47
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
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
3
25 avril 2013 à 11:29
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
260
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
24 octobre 2013
35
25 avril 2013 à 11: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
260
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
24 octobre 2013
35
25 avril 2013 à 11:18
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
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
3
25 avril 2013 à 11:41
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
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
3
25 avril 2013 à 11:44
la page membre.php, c'est quand le membre est connecté ( c'est sa page d'acceuil en faite)
0
trusttelecom
Messages postés
260
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
24 octobre 2013
35
25 avril 2013 à 11:44
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
62
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
9 janvier 2017
3
25 avril 2013 à 12:02
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
784
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
19 février 2018
191
25 avril 2013 à 12:26
Bonjour,

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