Page 1 sur 1

Mettre "DOCUMENT_ROOT" dans le header ?

Posté : 05 juin 2008, 15:59
par notebleue
Bonjour,
J'aimerais savoir s'il est possible de faire ceci:

header('location: "DOCUMENT_ROOT"');

au lieu de cela:

header('location: test.php');

pour renvoyer à la page active au lieu de la page "test.php"

D'avance merci pour votre réponse

Posté : 05 juin 2008, 16:30
par guilt92
tu peux utiliser la valeur $_SERVER["PHP_SELF"] qui est la page active :
header('location: '.$_SERVER["PHP_SELF"]); 
Tu as d'autres variablesde ce genre avec les $_SERVER...

Posté : 05 juin 2008, 16:33
par Invité
Merci beaucoup j'essaierai demain car aujourd'hui je suis en visite !
Promis je vous donne des nouvelles

Posté : 06 juin 2008, 14:46
par Invité
Cela ne marche pas comme je le voudrais, car le "header" se trouve dans un script appellé depuis certaines pages et se j'écris

header('location: '.$_SERVER["PHP_SELF"]);

cela me renvoie au script et non à la page d'où il est appelé.

Cela fait plusieurs jours que je tourne en rond avec cela, mais je dois avouer que je débute en PHP et n'y connais pas encore grand chose. Je pioche quelques exemples par-ci par-là et j'essaie de les adapter à mes besoins. En l'occurence j'essaie de rendre un site bi-lingue, mais le script que j'ai trouvé utilise

header('location: index.php');

ce qui me renvoie chaque fois à l'index alors que j'aimerais qu'il reste dans la page en cours. N'y a-t-il pas un "truc" pour lui dire "reste ici" ?

Merci d'avance pour votre aide

Posté : 06 juin 2008, 15:13
par guilt92
Dans les variables "serveur" je ne sais pas, comme ca je vois pas, par contre à ce moment la n'est il pas possible pour toi de créer une variable dans la page qui appelle ton script et de l'utiliser dans tes scripts ?


Exemple :

page1.php
$page_courante = $_SERVER["PHP_SELF"];
//blabla
include("mon_script1.php");
//blabla
include("mon_autre_script.php");
page2.php
$page_courante = $_SERVER["PHP_SELF"];
//blabla
include("mon_script1.php");
//blabla
include("mon_autre_script.php");
mon_script1.php
//blabla
header("Location: ".$page_courante);
//blabla
Ou bien faire cela avec une variable de session qui se met à jour dès que l'utilisateur arrive sur une page

dans tes pages appelantes :
$_SESSION["page_courante"] = $_SERVER["PHP_SELF"];
dans tes pages de script:
header("Location: ".$_SESSION["page_courante"]);
(dans ce cas ne pas oublier les session_start() dans tes pages ;))

Sinon tu peux peut etre le faire avec $_SERVER["HTTP_REFERER"] qui est la valeur de la page appelante, mais si tu as un script qui appelle un autre script alors ca marchera pas non plus...

Posté : 06 juin 2008, 15:55
par Invité
Merci pour la rapidité de ta réponse. J'essaie et je reviens te dire si ça marche.

Posté : 06 juin 2008, 16:43
par Invité
hélas aucune de ces solutions fonctionne
Merci quand même pour tes conseils, cela fait plaisir d'avoir de l'aide.