OVH Cloud OVH Cloud

Forcer le passage par la page Index en PHP

5 réponses
Avatar
syco de sycoweb
( NB : troisieme envoi car Outlook est miserable !)


Bonjour.

Je ne suis vraiment pas un spécialiste du php, ni du JScript, mais j'essaye
de devenir meilleur ...

Je voudrais forcer mes visiteurs à passer au moins une fois par ma page
index.
S'ils n'y passent pas, je veux les rebrancher automatiquement sur cette
page.

En utilisant les sessions, je peux facilement détecter si oui on non la page
index a déjà été visitée.
Comment puis-je *proprement* en PHP forcer le chargement de la page index
dans le navigateur ?

Je n'ai pas trouvé autre chose que de passer par du javascript ( généré avec
des echo en php ) et de
- changer le document.location
- recharger avec un replace ( pour empecher le retour arriere dans le
navigateur ).

Ca fait vraiment usine !

Si quelqu'un peut m'indiquer en quelque lignes comment faire en php pur,
j'en serais fort reconnaissant.

Merci d'avance.

SYCO
de Sycoweb
( BROCANTES DU NORD-EST <http://sycoweb.free.fr/index.htm> )
- Let me Alone but not Forever -

5 réponses

Avatar
foodbyfood
Je ne suis vraiment pas un spécialiste du php, ni du JScript, mais j'essaye
de devenir meilleur ...


ça viendra, t'en fait pas... on s'améliore chaque jour ;-)


Je voudrais forcer mes visiteurs à passer au moins une fois par ma page
index.
S'ils n'y passent pas, je veux les rebrancher automatiquement sur cette
page.

En utilisant les sessions, je peux facilement détecter si oui on non la page
index a déjà été visitée.
Comment puis-je *proprement* en PHP forcer le chargement de la page index
dans le navigateur ?


via un cookie (ça demande un minimum de php, 4 à 5 lignes grand max
;-) )

lien sur le fonctionnement des cookies :

http://dev.nexen.net/docs/php/annotee/language.variables.external.cookies.php?lien=cookie

quelques petits exemples

http://dev.nexen.net/docs/php/annotee/function.setcookie.php

Avatar
Gg
syco de sycoweb wrote:

Je voudrais forcer mes visiteurs à passer au moins une fois par ma page
index.
S'ils n'y passent pas, je veux les rebrancher automatiquement sur cette
page.
[...]
Si quelqu'un peut m'indiquer en quelque lignes comment faire en php pur,
j'en serais fort reconnaissant.


Dans ton index.php tu définis une constante MAIN_INDEX par exemple, et,
en supposant que cette pas index.php inclus les autres pages, tu teste
dans les autres pages si cette constante est définie, sinon tu fais une
redirection.

<?php
if (!defined("MAIN_INDEX")) header("location: index.php"); ?>


--
GéraLd : http://gerald.fauvelle.free.fr
| Photos : http://www.gg.free.fr
| myStats : Système de statistiques
| Version 1.0.8 - http://emcity.nexenservices.com/mystats

Avatar
bertrand

( NB : troisieme envoi car Outlook est miserable !)


...


Je voudrais forcer mes visiteurs à passer au moins une fois par ma page
index.
S'ils n'y passent pas, je veux les rebrancher automatiquement sur cette
page.
...




Bonjour,

Avant tout affichage, tu appelles la fonction
header("Location: http://".$_SERVER['HTTP_HOST'].'/index.php');
puis tu fait un exit;

Le navigateur va recevoir l'instruction de charger la page /index.php.

ATTENTION il est impératif de n'avoir rien envoyé au navigateur avant le
header.

PS : installe mozilla au lieu de t'emmerder avec outlook.

--
Bertrand Perrotte

Webmaistre canoe.kayak.free.fr
secrétaire du Canoë Kayak Gennevilliers

Avatar
kMoog
"syco de sycoweb" a écrit dans le message de news:

( NB : troisieme envoi car Outlook est miserable !)


Bonjour.

Je voudrais forcer mes visiteurs à passer au moins une fois par ma page
index.
S'ils n'y passent pas, je veux les rebrancher automatiquement sur cette
page.



Regarde du côté de la fonction PHP header() :

header("Location: http://www.NomDeTonSite.com/index.php") ;

Avatar
CrazyCat
bertrand wrote:
Avant tout affichage, tu appelles la fonction
header("Location: http://".$_SERVER['HTTP_HOST'].'/index.php');
puis tu fait un exit;

Le navigateur va recevoir l'instruction de charger la page /index.php.

ATTENTION il est impératif de n'avoir rien envoyé au navigateur avant
le header.


Alternative sympathique:
die("<meta http-equiv="refresh" content="0; URL=index.php">");
--
CrazyCat from C-P-F.org