Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1443 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Probleme sur la fonction header()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Probleme sur la fonction header()

n°562875
KdZ'
Simple®
Posté le 09-11-2003 à 18:56:23  profilanswer
 

:hello:  
 
 
Voila, j'ai soudainement un pb lorsque j'ai fait ça :
 

Code :
  1. <?php
  2. if(isset($_GET['design']) == '' or empty($_GET['design']))
  3. {
  4. header('Location: ?design=3&rub='.$_GET['rub'].'');
  5. }
  6. if(isset($_GET['rub']) == '' or empty($_GET['rub']))
  7. {
  8. header('Location: ?design='.$_GET['design'].'&rub=0');
  9. }
  10. if(isset($_GET['order']) == '' or empty($_GET['order']))
  11. {
  12. header('Location: ?design='.$_GET['design'].'&rub='.$_GET['rub'].'&order=alpha');
  13. }
  14. ?>


 
 
Si quelqu'un peut me confirmer le fait que ça ne peut pas fonctionner, et pk ça serait cool ;)


Message édité par KdZ' le 09-11-2003 à 20:12:34
mood
Publicité
Posté le 09-11-2003 à 18:56:23  profilanswer
 

n°562877
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 09-11-2003 à 18:58:02  profilanswer
 

Et c'est quoi ton problème soudain ? :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°562878
KdZ'
Simple®
Posté le 09-11-2003 à 18:59:28  profilanswer
 

Taiche a écrit :

Et c'est quoi ton problème soudain ? :o


 
 
La page ne se charge pas...
C'est cencé fonctionner ça ou pas ?

n°562883
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 09-11-2003 à 19:05:11  profilanswer
 

T'es sûr de ne faire appel à header() qu'en tout début de code ? Tu fais pas d'include ou d'echo ou quoi que ce soit avant ? Y a pas de balise HTML qui traîne avant ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°562885
KdZ'
Simple®
Posté le 09-11-2003 à 19:06:24  profilanswer
 

Nonnon je fais bien mon header en debut de code, merci :)

n°562887
KdZ'
Simple®
Posté le 09-11-2003 à 19:12:19  profilanswer
 

bon le pb vient bien de cette partie du code : (que j'ai un peu modifié d'ailleur)
 

Code :
  1. <?php
  2. if(isset($_GET['design']) == '' or empty($_GET['design']))
  3. {
  4. header('Location: ?design=3&rub='.$_GET['rub'].'&order='.$_GET['order'].'');
  5. }
  6. if(isset($_GET['rub']) == '' or empty($_GET['rub']))
  7. {
  8. header('Location: ?design='.$_GET['design'].'&rub=0&order='.$_GET['order'].'');
  9. }
  10. if(isset($_GET['order']) == '' or empty($_GET['order']))
  11. {
  12. header('Location: ?design='.$_GET['design'].'&rub='.$_GET['rub'].'&order=alpha');
  13. }
  14. ?>


 
bon faut voir d'où vient l'erreur maintenant...


Message édité par KdZ' le 09-11-2003 à 19:15:33
n°562888
KdZ'
Simple®
Posté le 09-11-2003 à 19:17:53  profilanswer
 

Bon, si ça peut aider, sous mozilla j'ai ça :  
 
http://pim.asso.fr/stkge/upload/fichiers/56416541651.PNG

n°562890
RiderCrazy
Posté le 09-11-2003 à 19:25:56  profilanswer
 

boucle infini avec tes header...

n°562895
KdZ'
Simple®
Posté le 09-11-2003 à 19:35:18  profilanswer
 

C bon, j'avance (tout seul d'ailleur), ça me fait ça des qu'une variable 'design', 'rub' ou 'order' est à 0 ou qu'elle n'existe pas.
 
Par contre, celle là fonctionne :  
 
if(isset($_GET['order']) == '' or empty($_GET['order']))
{
header('Location: ?design='.$_GET['design'].'&rub='.$_GET['rub'].'&order=alpha');
}

n°562897
KdZ'
Simple®
Posté le 09-11-2003 à 19:36:14  profilanswer
 

RiderCrazy a écrit :

boucle infini avec tes header...


 
 
A bon ? [:miracle]  
 
Tu peux m'expliquer ?

mood
Publicité
Posté le 09-11-2003 à 19:36:14  profilanswer
 

n°562958
KdZ'
Simple®
Posté le 10-11-2003 à 00:21:37  profilanswer
 

:up:

n°563056
Mara's dad
Yes I can !
Posté le 10-11-2003 à 10:56:08  profilanswer
 

Plusieurs problèmes :
1- or en PHP s'écrit || (Pour and c'est && )
2- isset(...) == '' Est une condition écrite n'importe comment. isset() retourne un booléen.
 
Exemple re-écrit d'une manière peut-être un peu plus clair :
 

<?php
 
$redirect = false;
 
if( ! isset( $_GET['design'] ) || empty( $_GET['design'] ) )
{
 $design = 3;
}
else
{
 $design = $_GET['design'];
}
 
if( ! isset( $_GET['rub'] ) || empty( $_GET['rub'] ) )
{
 $rub = 0;
}
else
{
 $rub = $_GET['rub'];
}
 
if( ! isset( $_GET['order'] ) || empty( $_GET['order'] ) )
{
 $order = 'alpha';
}
else
{
 $order = $_GET['order'];
}
 
if( $redirect )
{
 header( "Location: ?design=$design&rub=$rub&order=$order" );
 exit;
}
 
// Pour debug :
echo( "design=$design, rub=$rub, order=$order );
?>



---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563060
Mara's dad
Yes I can !
Posté le 10-11-2003 à 10:58:54  profilanswer
 

Oups, je viens de voir que 'or' et 'and' sont des opérateurs valides. Désolé, j'avais jamais vu çà en PHP.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563314
KdZ'
Simple®
Posté le 10-11-2003 à 17:15:09  profilanswer
 

Arf, merci mais il faut absolument que je fasse un header() parce que les autres variables sont lues à partir de l'url...

n°563385
Mara's dad
Yes I can !
Posté le 10-11-2003 à 20:00:08  profilanswer
 

Ben le header, je l'ai mis, mais y'en a qu'un :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563386
Mara's dad
Yes I can !
Posté le 10-11-2003 à 20:03:03  profilanswer
 

Heu j'ai un doute là tout d'un coup, tu fais ton header() juste pour récupérer les autres variables ?
 
Si c'est çà, ben tu les as, t'as juste à définir des valeurs par défaut...
 
En gros, tu fais comme j'ai fait pour design, rub et order...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563391
omega2
Posté le 10-11-2003 à 20:09:58  profilanswer
 

KdZ' a écrit :

Arf, merci mais il faut absolument que je fasse un header() parce que les autres variables sont lues à partir de l'url...

Je vois pas le rapport entre l'header et les variables passants par l'URL ...
 
Je viens d'ailleur de penser a un truc : quand des variables sité au début n'est pas initialisé tu lui dit de charger une autre page. C'est normal que la première soit pas chargé. ;)
T'es sur que c'est dans la page d'index du répertoire que tu fais ça? Sans ça, c'est normal que t'es un problème.
 
A mon avis, ca serait beaucoup plus simple que tu changes simplement les valeurs de $_GET['rub'] et autres plustôt que de charger une nouvelle fois la page avec de nouveaux parmètres. ;) En plus, il me semble que empty(0) = TRUE du coup, tu pars en boucle infinis pour $_GET['rub']. ;)

n°563395
Mara's dad
Yes I can !
Posté le 10-11-2003 à 20:18:49  profilanswer
 

Il ne redirige pas sur une autre page, mais sur la même !
Donc en fait le header() ne sert à rien.
En fait ce qu'il faut, c'est juste initialiser des valeurs par défaut :
 

<?php  
 
if( ! isset( $_GET['design'] ) || empty( $_GET['design'] ) )  
{  
 $_GET['design']= 3;  
}  
 
if( ! isset( $_GET['rub'] ) || empty( $_GET['rub'] ) )  
{  
 $_GET['rub'] = 0;  
}  
 
if( ! isset( $_GET['order'] ) || empty( $_GET['order'] ) )  
{  
 $_GET['order'] = 'alpha';  
}  
 
...
 
?>


 
Si mOssieur avait bien voulu nous dire ce qu'il vaoulait faire :D
 
Sauf erreur de ma part bien sùr, mais là je pense que j'ai bon  :sol:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563417
omega2
Posté le 10-11-2003 à 20:40:30  profilanswer
 

Mara's dad a écrit :

Il ne redirige pas sur une autre page, mais sur la même !

header('Location: ?'); voudrait donc dire qu'on recharge la même pas sans paramêtre? :o
Je pensais que ca signifiait qu'on demandait au navigateur de charger la page d'index du répertoire courant.

n°563423
Mara's dad
Yes I can !
Posté le 10-11-2003 à 20:45:36  profilanswer
 

omega2 a écrit :

header('Location: ?'); voudrait donc dire qu'on recharge la même pas sans paramêtre? :o
Je pensais que ca signifiait qu'on demandait au navigateur de charger la page d'index du répertoire courant.


Yes !
 
Et en plus t'as raison...
 
Quand il faisait son header, les autres variables étaient perdues...
 
Ou alors, j'ai absoluement rien compris à son truc :lol:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°563441
KdZ'
Simple®
Posté le 10-11-2003 à 20:59:42  profilanswer
 

:whistle:  :lol:


Message édité par KdZ' le 10-11-2003 à 21:00:45
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Probleme sur la fonction header()

 

Sujets relatifs
[PHP] Expressions régulières... elle marche pas comme je veux...Problème de <TABLE>
[C] petit probleme sur un prog tout simple !![PHP] output handler 'ob_gzhandler' cannot be used after 'URL-Rewriter
[PHP][JS] Vraiment Bizzardprobleme avec les slashes en upload
Probleme avec Dev cpp[XSL] Problème d'apostrophe
[PHP] Afficher la valeur des boutons radio[PHP] augmenter le max_execution_time dans le php.ini
Plus de sujets relatifs à : [PHP] Probleme sur la fonction header()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR