Probleme de redirection avec header

Antalizz Messages postés 3 Statut Membre -  
ludo1325 Messages postés 175 Statut Membre -
Bonsoir,

Sur mon site web j'ai installé un systeme de permission.
Malheureusement il ne fonctionne pas encore tip top.

Par exemple dans ce code

  $cible = $_GET['cible']; // correspond a "sources" par exemple
  $perm = $_SESSION['perm']; // 1, 2 ou 3
  

 if($perm == 2 OR $perm == 3) {
  header('Location: [http://xxxxxxxxx.xxx/ http://xxxxxxxxx.xxx/'.|nofollow]$cible.'.php'); // page sources.php
 }
 else {
  if($perm == 1)
  {
   echo 'Permisssion = 1';   
  }
  else { 
   echo 'Une erreur sest produite';
  }
 }


je me fais rediriger sur ma page d'erreur au lieu de sources.php, j'ai verifier perm = 3.
Merci d'avance

6 réponses

  1. curumo_leblanc Messages postés 283 Statut Membre 74
     
    Bonsoir,

    bon je n'ai jamais été un grand spécialiste du header mais des éléments me choquent dans ton code

    header('Location: http://xxxxxxxxx.xxx/'.$cible.'.php');

    ton |nofollow] et la première URL. Pour moi, ton code devrait plus être :

    header('Location: http://xxxxxxxxx.xxx/'.$cible.'.php');
    0
  2. Antalizz Messages postés 3 Statut Membre
     
    oui pardon,


    $cible = $_GET['cible']; // correspond a "sources" par exemple
    $perm = $_SESSION['perm']; // 1, 2 ou 3

    if($perm == 2 OR $perm == 3) {
    header('Location: http://xxxxxxxxx.xxx/'.$cible.'.php'); // page sources.php
    }
    else {
    if($perm == 1)
    {
    echo 'Permisssion = 1';
    }
    else {
    echo 'Une erreur sest produite';
    }
    }
    0
  3. curumo_leblanc Messages postés 283 Statut Membre 74
     
    As-tu testé avec un lien en dur déjà ? A ma connaissance le header location accepte les liens dynamiques mais sait-on jamais.

    Par ailleurs, as tu procédé à un echo de ton $GET['cible'] ? Quelle est la valeur retournée ?
    0
  4. Antalizz Messages postés 3 Statut Membre
     
    Oui comme je l'ai dis, $GET['cible'] = sources
    Donc je devrais logiquement me retrouver sur la page sources.php

    J'ai aussi testé avec un lien en dur, rien n'y fait.

    Apparement sur mozilla, il faut mettre le lien complet avec le header.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. curumo_leblanc Messages postés 283 Statut Membre 74
     
    Je t'avoue que si le lien en dur ne fonctionne pas avec L'URL complète, je ne vois pas. Je vais donc laisser ma place à une personne plus pertinente.

    As-tu posté ton souci sur openclassroom ?
    0
  7. ludo1325 Messages postés 175 Statut Membre 33
     
    Salut,

    j'ai essayé chez moi en passant les valeurs dans les variables en dur :
    <?php 
    $cible = "sources"; //$_GET['cible']; // correspond a "sources" par exemple
    $perm = 3; //$_SESSION['perm']; // 1, 2 ou 3

    if($perm == 2 OR $perm == 3) {
    header('Location: http://xxxxxxxxx.xxx/'.$cible.'.php'); // page sources.php
    }
    else {
    if($perm == 1)
    {
    echo 'Permisssion = 1';
    }
    else {
    echo 'Une erreur sest produite';
    }
    }
    ?>

    et ça fonctionne très bien !
    Regarde bien que $_GET['cible']; te passe bien le nom de fichier voulu et que ta variable de session vaux bien 3.

    Essaye en copiant le code que je t'ai mis ci-dessus, car chez moi la redirection marche !

    Ludo.
    0