utilisation du if et du header

utilisation du if et du header - PHP - Programmation

Marsh Posté le 24-12-2004 à 18:28:09    

Bonjour,
 
Je voudrais tester une variable; Si la variable est vraie alors j'ouvre une nouvelle page sinon ca m'en ouvre une autre.
 
ce code est il bon?
 
if ($a = $vrai)
{
header('Location:page_vraie.php')
}
else {
header('Location:page_fausse.php')
}
 
 
avec ceci j'obtiens le message d'erreur suivant:
cannot modify header information - headers already sent by (output ...)
 
merci

Reply

Marsh Posté le 24-12-2004 à 18:28:09   

Reply

Marsh Posté le 24-12-2004 à 18:42:28    

tourist77 a écrit :

Bonjour,
 
Je voudrais tester une variable; Si la variable est vraie alors j'ouvre une nouvelle page sinon ca m'en ouvre une autre.
 
ce code est il bon?
 
if ($a = $vrai)
{
header('Location:page_vraie.php')
}
else {
header('Location:page_fausse.php')
}
 
 
avec ceci j'obtiens le message d'erreur suivant:
cannot modify header information - headers already sent by (output ...)
 
merci


 
C'est parce qu'il y a une sorti écran avant le header. regarde s'il y a pas un un echo ou une autre erreur avant ou un espace entre le haut de ton fichier et la balise php
 
-------- haut du fichier
espace vide
<?php

Reply

Marsh Posté le 24-12-2004 à 18:46:29    

tourist77 a écrit :

Bonjour,
 
Je voudrais tester une variable; Si la variable est vraie alors j'ouvre une nouvelle page sinon ca m'en ouvre une autre.
 
ce code est il bon?
 
if ($a = $vrai)
{
header('Location:page_vraie.php')
}
else {
header('Location:page_fausse.php')
}
 
 
avec ceci j'obtiens le message d'erreur suivant:
cannot modify header information - headers already sent by (output ...)
 
merci


 
 
Ajoutons à la réponse de berceker que si le code est bon, il ne veut pas dire grand chose, l'intérêt de dupliquer une variable avant une redirection m'échappant complètement :D

Reply

Marsh Posté le 24-12-2004 à 18:50:46    

En php le test d'égalité est le double =  
 
Soit : ==
 
En l'occurence ton test renverra toujours vers le même header la

Reply

Marsh Posté le 24-12-2004 à 18:53:57    

tien je l'avais pas repéré celle-ci :)

Reply

Marsh Posté le 24-12-2004 à 19:30:11    

Merci les gars, ca progresse!!!
 
J'avais des espaces en trop, je les ai enlevé...
J'ai mis le '=='  ;)
 
Je n'ai plus l'erreur mais ca m'envois tjs la page du else :(
 
 

Reply

Marsh Posté le 24-12-2004 à 19:34:02    

et que valent les variables au moment du test ?

Reply

Marsh Posté le 25-12-2004 à 00:35:03    

ptet une habituelle histoire de $_GET ou de $_POST

Reply

Marsh Posté le 27-12-2004 à 17:38:51    

c'est bon ca marche  :)
 
Je récupérais mal une valeur d'un tableau, du coup mon $a et $vrai ne risquaient pas d'etre egaux.
 
merci à vous ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed