Bonjour,
à partir d'un moment T (tel jour, telle heure française), j'aurais besoin de rediriger automatiquement les personnes qui ont chargé une page PHP vers une autre page.
Comment est-ce possible ?
Merci pour vos infos !
Paul
Bonjour,
à partir d'un moment T (tel jour, telle heure française), j'aurais besoin de rediriger automatiquement les personnes qui ont chargé une page PHP vers une autre page.
Comment est-ce possible ?
Merci pour vos infos !
Paul
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php if(date('d/m/y') == '10/10/08') {header('location:autrepage.php');} ?>
Hum… Merci ThomasR : on y est presque !
C'est OK si on est le jour J.
Mais comment dire si le moment a dépassé tel jour et telle heure ?
tu peux utiliser la fonction http://php.net/mktime que tu compares avec la fonction http://php.net/time
Oui avec :ça fonctionne parfaitement au chargement de la page. Super.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php if(time() >= mktime(22,05,00,10,8,2008)) { header('location: http://www.tricbidule.com'); exit; } ?>
Mais comment faire pour rediriger automatiquement si la page a déjà été chargée avant l'heure H ?![]()
Euh... j'ai dit quelque chose de bête ?…Mais comment faire pour rediriger automatiquement si la page a déjà été chargée avant l'heure H ?![]()
![]()
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
Dans une page X on a un script PHP qui redirige vers une page Y si on charge cette page X après un moment T.
Sauf erreur, si on charge la page X avant le moment T et qu'on la laisse ouverte jusqu'après le moment T, il ne se passera rien : il n'y aura pas de redirection vers Y (puisque le php n'aura pas été rechargé).
Comment faire une redirection automatiquement dès qu'on dépasse le moment T ?
![]()
Bonjour,
Si j'ai bien compris (), tu peux faire ça avec une simple balise META en HTML :
Pour rediriger la page après 150 secondes
Code : Sélectionner tout - Visualiser dans une fenêtre à part <META HTTP-EQUIV="Refresh" CONTENT="150; URL=Y">
http://cyberzoide.developpez.com/html/meta.php3#refresh
Ah ben là
vous m'en voulez ou quoi ?...
Nan, nan ce n'est pas ce que je veux !
Ce que je veux c'est qu'une page redirige vers une autre page à partir d'un certain moment (et pasau bout d'un certain temps !). :
ma page X doit rediriger vers Y disons à partir du 1er novembre 2008 à 20:00
Avec ce script php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php if(time() >= mktime(22,05,00,10,8,2008)) { header('location: http://www.tricbidule.com'); exit; } ?>
- si on charge X après le 8 octobre 2008 à 22:05, on est redirigé vers Y : OK
- mais si on charge X le 8 octobre 2008 à 22:00, que se passe-t-il à 22:05 ? Rien…![]()
Oui c'est normal car le PHP est un protocole déconnecté !!!
C'est faisable avec AJAX couplé à un setTimeout().
Argh... je ne connais rien à AJAX...
Je vais poser ma question dans la salle AJAX ?
Bon sauf erreur, un bon vieux javascript des familles fait l'affaire :Mieux à faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script type="text/javascript"> function redir() { var ladate=new Date(); if ( ladate>=new Date(2008, 9, 10, 21, 37, 20, 00) ){ window.location="index.html"; } } </SCRIPT> (...) <SCRIPT language=javascript> setInterval("redir()",1000); </SCRIPT>![]()
S'il n'y a pas mieux : je tague "Résolu" !
Merci à vous.
Argh, il y a un problème :
avec mon javascript je récupère l'heure du client…
Il faudrait récupérer l'heure du serveur pour éviter les erreurs sur les PC mal réglés !…
Il faudrait remplacer :
var ladate=new Date();
par quelque chose du genre :
var ladate=<?php date("Y, n, j, G, i"); ?> ;
Je n'y arrive pas…
Un petit coup de pouce ?
![]()
Tu utilises la balise
MAPAGE étant l'url de ton script, la même page quoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <META HTTP-EQUIV="Refresh" CONTENT="150; URL=MAPAGE">
Ainsi, tu vérifies toutes 150 secondes, et si la date est dépassé, php s'occupe de la redirection.
Ca devrait marcher, mais à mon avis c'est inutile, laissons un peu les utilisateurs gérer les pages à leurs façons.
Oui tu as raison ça doit marcher comme ça.
Mais c'est pas élégant de devoir recharger la page…
Je préférerais de loin qu'un script tourne derrière
C'est pour ça que j'essayais de passer la date courante récupérée en PHP dans le code javascript. Mais je n'y arrive pas.![]()
Au-delà du débat d'idée sur le fait que la redirection est judicieuse ou non (et je continue à penser que dans mon cas elle l'est), il doit bien y avoir une manière de rendre compatible les formats de date et heure compatibles entre PHP et Javascript, non ?
Partager