Probleme de redirection avec header

Fermé
Antalizz Messages postés 3 Date d'inscription samedi 7 juin 2014 Statut Membre Dernière intervention 7 juin 2014 - Modifié par Chris 94 le 7/06/2014 à 02:09
ludo1325 Messages postés 149 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 23 juin 2015 - 7 juin 2014 à 21:37
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 samedi 10 septembre 2011 Statut Membre Dernière intervention 7 juillet 2014 74
7 juin 2014 à 02:38
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 samedi 7 juin 2014 Statut Membre Dernière intervention 7 juin 2014
7 juin 2014 à 03:15
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 samedi 10 septembre 2011 Statut Membre Dernière intervention 7 juillet 2014 74
7 juin 2014 à 03:21
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 samedi 7 juin 2014 Statut Membre Dernière intervention 7 juin 2014
7 juin 2014 à 14:29
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 samedi 10 septembre 2011 Statut Membre Dernière intervention 7 juillet 2014 74
Modifié par curumo_leblanc le 7/06/2014 à 19:41
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 samedi 27 juin 2009 Statut Membre Dernière intervention 23 juin 2015 33
7 juin 2014 à 21:37
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