Probleme de redirection avec header

Antalizz Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
ludo1325 Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   -
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

curumo_leblanc Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   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
Antalizz Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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
curumo_leblanc Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   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
Antalizz Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
curumo_leblanc Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   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
ludo1325 Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   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