quelqun peut il m'expliquer header("location: $url"

Petit nouveau ! | 8 Messages

13 févr. 2006, 12:36

bonjour j'ai une page avec des conditions de validité ...
chaque condition me renvoie vers une variable url (redirection)

mon script se termine par
header("location: $url");
quelqun peut il m'expliquer à quoi correspond Header
et que se passe t il quand on lui specifie une Location (destination)

j'ai supposé que le header correspondait à une histoire de chemin relatif ou absolu ... par rapport à l'endroit où se trouve mon script ...

mais aucune redirection ne fonctionne ....

Merci d'avance ...

Oliv
oliw

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

13 févr. 2006, 12:44

:!: Cette instruction doit être placée au tout début de ta page.
Un simple saut de ligne ou une espace provoquent une erreur.
De même, aucune "sortie" (echo) ne doit la précéder.

Cette instruction a pour effet de rediriger instantanément vers la page indiquée par $url.
Un peu comme un "meta refresh" avec un délai de 0 seconde...

Petit nouveau ! | 8 Messages

13 févr. 2006, 12:50

comment ça se fait que
header("location: $url");
doivent se trouver au debut de la page si la variable $url (variable specifiant la destination) est determnée par le script qui se trouve apres cette instruction ... je comprends pas ...
oliw

Eléphant du PHP | 200 Messages

13 févr. 2006, 12:58

:?
justement ce n 'est aps possible dans ec cas de figure , tu devra faire une autre type de redirection ( javascript ou autre )
Univers divided by 0 - cucumber error - reboot

Petit nouveau ! | 8 Messages

13 févr. 2006, 13:03

ok merci de votre aide ...
je vais partir sur une autre piste alors ...

bonne journée
oliw

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

13 févr. 2006, 15:22

Et le [Résolu] ?...
Où qu'il est, le [Résolu] ?...
:shock:

Petit nouveau ! | 8 Messages

13 févr. 2006, 15:42

je l'ai pas mis encore car je cherche ma reponse ...

mais je suis sur le point de resoudre le pbl en javascript ...
comme vous me l'avez conseillé ....
oliw

Eléphant du PHP | 76 Messages

06 mars 2006, 21:54

je mis connait un peu voic ila fonction qui te faut a la place de header
<?
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="perdu.php" </SCRIPT>';

?>
voila bonne prog 

Mammouth du PHP | 19672 Messages

06 mars 2006, 23:28

cemice, je ne mettrai pas en doute ta bonne volonté, mais ce que tu suggère, c'est du code dégueu. Explique moi donc à quoi sert le PHP dans ce cas ? Il est préférable de fermer la balise PHP, inscrire le code html et au besoin rouvrir une balise PHP :
<?php
//... code PHP
?>
<script type="text/javascript">
/* <![CDATA[ */
document.location.href="<?php echo($url); ?>";
/* ]]> */
</script>
<?php
//... suite éventuelle du code PHP
?>
Je sors du PHP pour mettre du HTML : à l'intérieur de balises script, j'ajoute du JavaScript à l'intérieur duquel je peux même ajouter du PHP pour mettre une valeur dynamique. Et ça, c'est conforme et valide XHTML 1.0 Strict en plus.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: