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 !
A voir également:

9 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
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 36
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 36
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 36
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 137
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