[renommé] problème de redirection en boucle

Résolu
Bonjour,

J'arrive plus à accéder à mon site, quand je fais dans " http://localhost/rs/index.php?page=membre " j'obtiens :

La page n'est pas redirigée correctement:

-Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
-La cause de ce problème peut être la désactivation ou le refus des cookies.

___

Index.php :

<?php
include('functions/connect.php');  // fonctionne

// Reporte toutes les erreurs PHP (Voir l'historique des modifications)
error_reporting(E_ALL);


/**
*Fonction de redirection
* @param : $url (valeur par défaut = index.php?page=login )
*/
function redirection($url = "index.php?page=login"){
   header("Location:$url");
   exit();
}

//Récupération de la valeur de $_GET['page'] Si la variable Existe et qu'elle n'est pas vide...
$page = isset($_GET['page']) && !empty($_GET['page'])?$_GET['page']:NULL;

include('functions/'.$page.'.func.php');


if($page){     
    $content = "pages/$page.php";
    if(!file_exists($content)){
      //La page n'existe pas
      redirection();
    }
}else{
  // $page est vide ou n'existe pas.
   redirection();
}
if(isset($_SESSION['pseudo']) && $page != 'membre' && $page != 'update' && $page !='update_avatar' && $page !="liste_membre");
{
 header("Location:index.php?page=membre");
}
?>

<!DOCTYPE html>
<html>
    <head>
   <link rel='stylesheet' href='css/style.css'>
    </head>
 <meta charset="UTF-8" >
    <body>
          <div id='content'>
          <?php
              include($content);
           ?>
    </div>
    </body>
 


Sinon mon tout dernier script (liste_membre.php) :
<?php 
include('functions/membre.func.php');
include('body/header.php);
include('body/menu.php');
?>


aidez moi svp :( Merci d'avance !

3 réponses

  1. Modérateur
    En général ce genre de message est dû à un header("location ...") qui redirige indéfiniment.
    Regardes donc en quoi ta redirection pose pb.
    1. j'ai pas de soucis à ce niveau
    2. Modérateur
      Le message est clair, pourtant, il y a un problème dans tes redirections.
      A la place de mettre header("location..."), affiche le lien et essayes de le suivre, je pense que tu verras le soucis.
    3. J'ai fais mes tests et c'est cette ligne qui pose problème

      header("Location:index.php?page=membre");
    4. @Zakarya93Ta supprimé tous tes cookies avant de refaire le test?
  2. Ma variable $page=membre ne contient rien apparement
    1. <?php
      include('body/header.php');
      include('body/menu.php');
      ?>
      <div class="info">
              <?php
        // récupérations des variables AVANT de les utiliser
        $email   = isset($infos['email'])?$infos['email']:'';
        $sexe    = isset($infos['sexe'])?$infos['sexe']:'';
        $apropos = isset($infos['apropos'])?$infos['apropos']:'';
       ?>
      <div class="info">
       <p><a href="index.php?page=update_avatar">Changer votre photo de profil</a></p>
       <a href="index.php?page=update_avatar"><img src="avatar/<?php echo $infos['avatar']; ?>"" height='200' width='200' alt='avatar'></a>
       <p><strong>Email : </strong><em><?php echo $email; ?></em></p>
       <p><strong>Sexe : </strong><em><?php echo $sexe; ?></em></p>
       <p><strong>A propos de vous : </strong><em><?php echo $apropos; ?></em></p>
      </div>
    2. Up, pourquoi j'ai besoin de supprimer cette ligne de code pour que le site refonctionne :

      header (Location:index.php?page=membre)
  3. Modérateur
    Bonjour,
    Dans ton fichier liste_membre.php .. il manque une QUOTE
    <?php 
    include('functions/membre.func.php');
    include('body/header.php');
    include('body/menu.php');
    ?>
    


    ensuite ...

    Ma variable $page=membre ne contient rien apparement

    Ca serait étonnant ..
    Par contre .. Tu as mis un point-virgule en trop dans ton IF ... (avant l'accolade ...)
    Ensuite.. tu as une fonction de redirection... pourquoi ne pas t'en servir.

    bref, corrige ainsi :
    if(isset($_SESSION['pseudo']) && $page != 'membre' && $page != 'update' && $page !='update_avatar' && $page !="liste_membre"){
    redirection("index.php?page=membre");
    }
    


    1. Nickel merci encore :D
    2. Modérateur
      Si la question est résolue..
      Merci de ne pas oublier de clôturer le sujet
      (en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

      Cordialement,
      Jordane