Redirection

Petit nouveau ! | 5 Messages

23 juil. 2009, 11:41

Bonjour,

J'aimerais savoir pourquoi la redirection suivante fonctionne parfaitement en local avec Wamp et ne fonctionne pas en ligne :

<?php header("Location: client.php?id=".$_GET['id']); ?>

Je ne sais pas si cela vient de la syntaxe car je suis débutant.

Pour info, j'héberge mon site chez 1and1

Merci d'avance.

Eléphant du PHP | 111 Messages

23 juil. 2009, 11:44

Est-ce que tu affiches du code html avant ta redirection ?

Petit nouveau ! | 5 Messages

23 juil. 2009, 11:50

Est-ce que tu affiches du code html avant ta redirection ?
Non c'est une page avec seulement du php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 juil. 2009, 12:11

As-tu un message d'erreur ?

As-tu un echo, un print ou un quelconque envoi de données au navigateur dans ton code php (ex : un retour à la ligne ou un espace avant la balise "<?php"), avant l'appel au header ? En effet, il ne faut strictement rien envoyer au navigateur avant l'appel à la fonction header().

La syntaxe est bonne, et si cela fonctionne en local, c'est qu'il s'agit d'une différence de paramétrage. Il y a de grande chance pour que le paramétrage par défaut de wamp gère un buffer de sortie qui stocke temporairement les données avant de les envoyer au navigateur (du coup s'il trouve un header il ne les envoi pas), et il est fort probable que ce paramétrage ne soit pas activé chez ton hébergeur :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

23 juil. 2009, 14:34

As-tu un message d'erreur ?

As-tu un echo, un print ou un quelconque envoi de données au navigateur dans ton code php (ex : un retour à la ligne ou un espace avant la balise "<?php"), avant l'appel au header ? En effet, il ne faut strictement rien envoyer au navigateur avant l'appel à la fonction header().

La syntaxe est bonne, et si cela fonctionne en local, c'est qu'il s'agit d'une différence de paramétrage. Il y a de grande chance pour que le paramétrage par défaut de wamp gère un buffer de sortie qui stocke temporairement les données avant de les envoyer au navigateur (du coup s'il trouve un header il ne les envoi pas), et il est fort probable que ce paramétrage ne soit pas activé chez ton hébergeur :)
Merci bcp, tu as résolu mon problème. J'avais oublié que j'avais un echo avant. Car avant de mettre en place ma redirection, j'avais un echo du genre 'merci, vos infos ont été ajoutées". Je l'ai supprimé et ça marche nickel.
Merci !