Probleme sur la fonction header() [PHP] - PHP - Programmation
Marsh Posté le 09-11-2003 à 18:58:02
Et c'est quoi ton problème soudain ?
Marsh Posté le 09-11-2003 à 18:59:28
Taiche a écrit : Et c'est quoi ton problème soudain ? |
La page ne se charge pas...
C'est cencé fonctionner ça ou pas ?
Marsh Posté le 09-11-2003 à 19:05:11
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 ?
Marsh Posté le 09-11-2003 à 19:12:19
bon le pb vient bien de cette partie du code : (que j'ai un peu modifié d'ailleur)
Code :
|
bon faut voir d'où vient l'erreur maintenant...
Marsh Posté le 09-11-2003 à 19:35:18
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');
}
Marsh Posté le 09-11-2003 à 19:36:14
ReplyMarsh Posté le 10-11-2003 à 10:56:08
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 |
Marsh Posté le 10-11-2003 à 10:58:54
Oups, je viens de voir que 'or' et 'and' sont des opérateurs valides. Désolé, j'avais jamais vu çà en PHP.
Marsh Posté le 10-11-2003 à 17:15:09
Arf, merci mais il faut absolument que je fasse un header() parce que les autres variables sont lues à partir de l'url...
Marsh Posté le 10-11-2003 à 20:00:08
Ben le header, je l'ai mis, mais y'en a qu'un
Marsh Posté le 10-11-2003 à 20:03:03
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...
Marsh Posté le 10-11-2003 à 20:09:58
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'].
Marsh Posté le 10-11-2003 à 20:18:49
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 |
Si mOssieur avait bien voulu nous dire ce qu'il vaoulait faire
Sauf erreur de ma part bien sùr, mais là je pense que j'ai bon
Marsh Posté le 10-11-2003 à 20:40:30
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?
Je pensais que ca signifiait qu'on demandait au navigateur de charger la page d'index du répertoire courant.
Marsh Posté le 10-11-2003 à 20:45:36
omega2 a écrit : header('Location: ?'); voudrait donc dire qu'on recharge la même pas sans paramêtre? |
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
Marsh Posté le 09-11-2003 à 18:56:23
Voila, j'ai soudainement un pb lorsque j'ai fait ça :
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