1

Je rencontre un petit soucis avec PHP.

Je souhaiterai à partir d'une page PHP chargée dynamiquement par AJAX et inclue dans une div de ma page principale pouvoir rafraichir toute ma page (principale) en testant une condition.

Concrètement je cherche à tester si la session n'a pas expirée et le cas échant rafraichir la page principale toute entière pour que celle ci éxécute une redirection vers la page de login.

Le test de la condition de session expirée marche. Il est tout bête, je teste seulement si une variable de session (qui est toujours maintenue dans chacune des pages de mon site) existe.

Le rafraichissement de ma page en PHP marche aussi. Mais pas quand la page est une page inclue, ce qui est mon cas sad

Voici le code que j'utilise:

if (!@isset($_SESSION['path_racine'])) {   // j'ai testé la condition avec un echo et le test passe bien
		header("Refresh: 1;url=".$_SERVER['HTTP_REFERER']); // le http_referer pointe sur la bonne page j'ai vérifié
}


Je cherche donc un moyen de forcer le rafraichissement d'une page entière via une page inclue dans une div.


Merci de votre aide!

PS: Je ne fais pas la redirection directement depuis la page includ car je ne veux pas mettre l'adresse en dur de ma page dedans, que toute mes adresses sont passées par variable (session) et que dans ce cas les varaibles de session ne sont plus là! Et je ne veux pas les réinitialiser car elles contienent un bout d'adresse codé en dur et que je souhaite centraliser tout ça pour ne pas avoir à changer toutes les adresses lors d'un éventuel changement de serveur.
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

2

pour que header() marche tu dois l'appeler avant d'envoyer quoi que ce soit au navigateur

donc dans ton cas vu que t'es en train d'afficher la page, c'est mort comme ça.
j'imagine qu'en js ça doit etre possible ...
avatar

3

y a toujours moyen de bufferiser la sortie, mais je pense que ça a un impact sur les perfs du serveur :/
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4

Oui c'est ce que je me suis dit cette nuit.

Ya bien la solution PHP+JS avec window.location mais c'est un peu le mal je trouve ^^'

avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

5

pas le choix, ton php doit indiquer au JS qu'il doit rediriger la page en lui donnant un ordre. ajax ne sert pas qu'à afficher des bout d'html dans une div, mais à donner des actions au serveur, tout comme recevoir des ordres du serveur
Ancien pseudo : lolo

6

OK, bon pour le coup j'oubli le XHTML Strict smile

Merci quand même!
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

7

Le javascript n'interfère pas avec la structure du document XHTML. Y'a rien à oublier donc ^^