2010-01-24 8 views
0

J'ai un seul .php (root/process.php) fichier pour plusieurs languesobtenir le chemin referrer en PHP

root/en/command.htm 
root/fr/command.htm 
root/ru/command.htm 

et ainsi un. Cependant, pour chacune des commandes que j'ai un thankYou.htm dans le même dossier:

root/en/thankYou.htm 
root/fr/thankYou.htm 
root/ru/thankYou.htm 

Comment puis-je rediriger la page après le traitement dans le process.php?

// redirect to a thank you page 
header("Location: " .$_SERVER['HTTP_REFERRER']. "\thankYou.htm"); 

cela ne fonctionne pas: Erreur 404. Normalement, si le referrer est root/ru/command.htm par exemple, de sorte que le php doit envoyer à l'utilisateur root/ru/thankYou.htm etc.

+1

Tenir compte décrivant ce que * ne * arrive au lieu de dire « ne fonctionne pas ». –

+0

@Ignacio: J'obtiens 404. Normalement, le referer est root/fr/command.htm, donc le php devrait envoyer l'utilisateur à root/en/thankYou.htm – serhio

+0

Savoir quelle URL donne le 404 est important. –

Répondre

2

Essayez une barre oblique à la place une barre oblique inverse:

header("Location: " .$_SERVER['HTTP_REFERER']. "/thankYou.htm"); 
+0

... + dirname() :) – serhio

2

Dans HTTP, il est mal orthographié comme « referer », de sorte que vous vouloir $_SERVER['HTTP_REFERER'].