Page 1 sur 1
Location replace
Posté : 29 janv. 2011, 09:37
par Herve_be
Bonjour,
Etant dans un document PHP je voudrais remplacer la page actuelle par une autre.
En fait la même fonction que
window.location.replace("url.php")
mais en PHP.
Merci d'avance pour votre aide
Rudy
Re: Location replace
Posté : 29 janv. 2011, 12:25
par moogli
salut,
la fonction header /!\ lit bien la doc y a un piège
@+
Re: Location replace
Posté : 30 janv. 2011, 09:55
par Herve_be
Merci pour ta réponse ... que je n'avais pas vue car j'ai probablement oublié de cocher "M'avertir ..." (ça ne peut pas être coché d'office ?)
Entretemps j'ai utilisé
header('Location: url.php');
et ça fonctionne très bien.
Où est le piège ?
(J'ai coché "M'avertir ..."

)
Re: Location replace
Posté : 30 janv. 2011, 10:33
par xTG
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichages PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui produiront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
Le voilà le piège.

Re: Location replace
Posté : 30 janv. 2011, 10:52
par Herve_be
Le seul header que j'envoie est "location:"; je ne vois pas où il pourrait y avoir un problème puisque la page est purement et simplement remplacée par le nouvel URL.
D'ailleurs j'envoie plein de choses avant et ça fonctionne très bien.
Re: Location replace
Posté : 30 janv. 2011, 13:02
par moogli
s'il y a affichage avant et que cela fonctionne, c'est que ton serveur met tout en cache avant envoie au navigateur. C'est une bonne chose dans ton cas mais une très mauvaise habitude car ce n'est pas la configuration par défaut
et d’ailleurs quel intérêt d'afficher un truc que l'on ne va voir
@+
Re: Location replace
Posté : 30 janv. 2011, 13:07
par Herve_be
quel intérêt d'afficher un truc que l'on ne va voir

Non, ce n'est pas ça.
Sur une page j'affiche des infos et un bouton.
Quand on clique sur le bouton j'appelle un module php qui n'affiche rien (en fait il envoie un mail) puis appelle une autre page php avec header(location:...).
Re: Location replace
Posté : 30 janv. 2011, 13:29
par moogli
ha ba donc y a pas d'affichage ....
Re: Location replace
Posté : 30 janv. 2011, 13:32
par Herve_be
OK alors, merci pour ton aide.
Puis-je amicalement te faire remarquer que "Il en faut peut pour être heureux ......" il ne faut pas de "t" à "peu".
Re: Location replace
Posté : 30 janv. 2011, 13:36
par moogli
tu peu

Re: Location replace
Posté : 30 janv. 2011, 13:44
par Herve_be
tu peu

Ben non, "tu peu
x" =D>
Re: Location replace
Posté : 30 janv. 2011, 13:48
par moogli
^^