Menu

[Javascript] Pb de script de MaJ auto [Résolu/Fermé]

Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
- - Dernière réponse : txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
- 21 juil. 2005 à 14:54
Bonjour à tous les spécialistes,
Voilà, j'ai un souci avec un script de mise à jour automatique des pages web modifiées. En local, ça m'affiche la date de la modif (normal me dires-vous puisque je teste aussitôt) mais une fois chez l'hébergeur, les pages mises à jour antérieurement affichent EGALEMENT la date du jour (celle de la visite en fait). Or, ce n'est pas le but.

J'ai du merder quelque part mais où ????
voici le script:
<!-- affiche la dernière modif de fichier
function afficherDateModif() 
{ 
      var lesMois = new Array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'); 

      var dateModif = new Date (document.lastModified); 

      var annee = dateModif.getFullYear(); 
      var mois = dateModif.getMonth(); 
      var jour = dateModif.getDate(); 

      document.write('Mis à jour le '+ jour +' - '+ lesMois[mois] +' - '+ annee); 
} 
-->


vous pouvez le vérifier à: http://abarkahiru.free.fr/

erci d'avance pour votre aide.
PS: On n'en parle pas dans les recherches que j'ai pu faire.


Un adulte assis voit plus loin qu'un jeune debout.
Afficher la suite 

12 réponses

0
Merci
Bonjour
Regarde du côté de :
document.lastModified
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Encore moi:
Voici ce que j'ai trouvé sur un site: http://www.javascriptfr.com/code.aspx?id=18946 l'avant dernière ligne (ce n'est pas le même code mais)...

ATTENTION !!!
Ce script ne fonctionne pas sur les pages PHP, pour utiliser un code de dernière modification en php, veuillez utiliser:
<?php
echo 'Dernière modification: <BR>Le'.date("d/m/y à H:i:s", filemtime($PATH_TRANSLATED));
?>
Voilà


Un adulte assis voit plus loin qu'un jeune debout.
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591
0
Merci
Salut ric et merci,

Heuuuu! comment ça "last modified" ?
Tout le script est là.
Ensuite dans les pages, je met <script language ..... url du script > dans le head
puis à l'endroit même où il doit se situer: <script language="JavaScript" type="text/javascript">afficherDateModif();</script>

Je n'ai rien d'autre. Je pensais que ce script me servait a éviter de mettre les dates de modif de chaque page mais, qu'une fois sur le serveur, il gardait cette date de modif. Or il n'en est rien.

Apparement, lorsqu'on va visiter la page, le script regarde l'heure (donc la date) sur la machine client et l'affiche.

merci quand même. Je vais tenter de trouver quelque chose..... et je vous tiens au courant.
0
Merci
Bonjour
Voici le code javascript complet.
<body>
<br /><br />
<script language="javascript">
document.writeln("Dernière modification de ce document : "+document.lastModified);
</script>
<br /><br />
</body>
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591
0
Merci
Salut ric,

J'ai vu sur un forum que ce script ne fonctionnait pas pour des fichiers en php. Il faut rajouter 2/3 trucs.

Ton code ne me fais de plus sinon qu'afficher une phrase différente mais pour la date et l'heure, c'est sur la base de l'ordi du client.

Suis vraiment emmmerdé.....
Vais tenter d'insérer le code cité plus haut (en php) pour voir...

Merci beaucoup quand même. ;-))

Un adulte assis voit plus loin qu'un jeune debout.
0
Merci
Le code retourne la date du dernier enregistrement de la page en cours.
Tu inséres ce code dans la page, tu l'enregistres et la date affichée dans la page html, asp, php ou autres sera le 03-04-2005.
Mais, dans 1 an, 10 ans ou plus et si tu n'as pas réenregistré la page, la date sera toujours celle d'aujourd'hui soit le 03-04-2005.

Mais ce n'est peut-être pas ce que tu veux ?
Autant pour moi.
Effectivement le javascript ne peut pas marcher sur une page dynamique puisqu'elle est générée à la demande.
Je réfléchis et, si je trouve, je te tiens au courant.
0
Merci
Voici ce que j'ai trouvé sur un site: http://www.javascriptfr.com/code.aspx?id=18946 l'avant dernière ligne (ce n'est pas le même code mais)... 
Cela marche.
Je n'avais pas compris que c'était la solution que tu avais trouvé.
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Salut ric,

Je ne te suis plus du tout là ???

Qu'est-ce qui marche. De plus, je ne veux que jj/mm/aa et pas de heures minutes et secondes

Je n'ai pas essayé ce code (j'ai peur de tout foutre en l'air bien que je travaille sur un dossier de test :: http://abarkahiru.free.fr )

Je suis en train de refaire ce P.... de menu qui me pose un sérieux Pb (je voudrais avoir le drapeau basque flottant + les petits logos en dessous dans TOUTES les pages et TOUJOURS visibles.
Pour cela, je dois modifier la hauteur des deux premiers menus ainsi que les classes pour chacun d'eux afin de les distinguer des hautres mais je crois que j'ai trouvé une soluce (faire un new array et spécifier des hauteurs pour chaque menu, différents bien sur pour les deux premiers et autant de hauteurs qu'il y a de menu restants.

Mais ça ne résout pas mon Pb de date de dernières modif d'une page donnée.
En plus, je pige rien en javascript ni en php. Tu vois le travail !
Merci mille fois en tous cas de ton aide, c'est très cool.

Un adulte assis voit plus loin qu'un jeune debout.
0
Merci
Colle cela dans une page PHP et tu auras la date de dernière modification du script
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Salut ric et merci pour ta patience,
code cela dans une page php
mais quoi ? il n'y a rien ?
Tu veux parler du code que je cite plus haut ? La particularité pour le php ?
Je m'en vois mais je vais y arriver ! parole de basque ! ;-))

Un adulte assis voit plus loin qu'un jeune debout.
0
Merci
Excuse, j'avais fait le copier, mais pas le coller.
<?php
echo 'Dernière modification : le ' . date("d/m/y", filemtime($PATH_TRANSLATED));
?>
Chez moi ça marche.
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Salut ric et merci infiniment pour ton aide si précieuse.
Je te dirais cela demain. A vérifier sur le site http://abarkahiru.free.fr/mythologie/mythologie basque/les amulettes. ;-)))

J'ai enfin fini par trouver comment coller le drapeau et les logos pour les versions étrangères au menu (cad toujours visibles malgrès le scroll). Un mois de recherches et de prise de tête enfin récompensé.

Je viens de modifier la css pour le titre des pages et ça merde encore (j'en suis a je ne sais pas combien de réinstall de studio MX 2004 (il a des comportements très bizarres parfois ????)

Mille mercis pour ton aide sur ce script de mise à jour.....

PS: iubito's a fait un boulot extraordinaire sur les menus dynamiques (css et javascript).
Je vais tenter de faire une explication sur cette façon précise de faire un menu positionné par un script en javascript et la façon de faire des hauteurs différentes pour chacun d'eux (pour y mettre une image par exemple).

@ + et merci ;-)))

Un adulte assis voit plus loin qu'un jeune debout.
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Salut ric,
Eh bien pas de bol ;-((( chez moi non. Il m'affiche le 01 01 70 tu parles !

j'ai viré les heures sur le script mais ça marchait déjà pas avant. Bouuuuuh :-((((((

J'en ai maaaaarre !!!!

tu peux vérifier sur http://abarkahiru.free.fr à mythologie / mythologie basque (là tu clique sur " les amulettes").

Comment t'a fais pour que ça marche toi ? Qu'a-tu fais de différent ?

Je me croyais sauvé eh bien non !

Merci encore...

Un adulte assis voit plus loin qu'un jeune debout.
0
Merci
Laréponse est peut-être là.
***************************
'PATH_TRANSLATED'
Chemin dans le système de fichier (pas le document-root) jusqu'au script courant, une fois que le serveur a fait une traduction chemin virtuel -> réel.

Note : Depuis PHP 4.3.2, la variable PATH_TRANSLATED n'est plus seulement définie implicitement sous Apache 2 SAPI contrairement à la situation sous Apache 1 où elle est définie avec la même valeur que la variable serveur SCRIPT_FILENAME lorsqu'elle n'est pas fournie par Apache. Ce changement a été effectué pour être conforme aux spécifications CGI qui fait que la variable PATH_TRANSLATED ne doit exister seulement si la variable PATH_INFO est définie.

Les utilisateurs d'Apache 2 devrait utiliser AcceptPathInfo = On au lieu de httpd.conf pour définir PATH_INFO.
******************************
Extrait de cette page
http://fr3.php.net/reserved.variables

Je suis en Apache version 1.
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591
0
Merci
Salut ric,

J'ai visité le site mentionné mais je ne pipe rien (mais ce qui s'appelle rien) :-((((

Je ne suis pas sorti de l'auberge moi.

Pour résumer: mon script se trouve dans un répertoire
scripts 
(
MaJ.js
) (j'ai enlevé les heures).
Dans le head, j'ai mis
<script language * * * * * * </script>

A l'endroit de l'affichage de cette maudite dernière modif de fichier, (dans le body donc) j'ai mis ce que le gars préconise mais en enlevant [
à h,i,s
].

Résultat: je me trouve avec un code qui me retourne une date au 01/01/70 .

Je n'ai plus réinstallé EasyPHP et je préfère uploader directement chez free puis vérifier.

Ce soir je vais vérifier si j'ai mis des chemins relatifs mais je ne vois plus très clair.

Merci infiniment pour ton soutient, tu est vraiment très cool comme tous ceux de CCM d'ailleurs.

Un adulte assis voit plus loin qu'un jeune debout.
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591
0
Merci
Salut ric,
Je viens de comprendre comment faire. En fait, j'ai viré le script en javascript et n'ai gardé que le code php (mais pas celui-ci, un autre)
<?
print("Modifié le ");
print(date("d - m - Y", filemtime($SCRIPT_FILENAME)));
?>

Ceci dit, le tiens doit fonctionner aussi, je vais tester de suite.

Je n'avais pas compris que le code php allait voir la date d'enregistrement de la page sur le serveur (la date de l'upload en fait) et le retournait.
Voilà ma grosse erreur !!!
C'est que du bonheur !!! ;-))))) Yalààààààààà ! enfin je vérifierai demain mais déjà là, il m'affiche une date correcte. Il faudrait que demain elle soit la même que celle d'aujourd'hui.

Merci, merci MERCI.


Un adulte assis voit plus loin qu'un jeune debout.
0
Merci
Les deux scripts PHP avec PATH_TRANSLATED ou SCRIPT_FILENAME fonctionnent sur mon serveur chez AMEN, mais aucun en local sous Windows.
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Salut ric,
Il semblerait que chez free, le path_translated ne fonctionne pas.
Ce qui me surprend quand même car je ne pense pas qu'ils soient restés avec une version 1 d'apache.

Merdci pour tout.

Un adulte assis voit plus loin qu'un jeune debout.
txiki
Messages postés
3141
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
12 avril 2017
591 -
Salut les gars et merci encore ;-)))

Pb réglé:

Pour un fichier en php, il faut carrément VIRER le script javascript de l'entête puis
METTRE le script PHP à l'endroit où l'on veut qu'il s"affiche sur la page.
En fait, et je l'ai compris que maintenant, ce script va voir à quelle date le fichier a été uploadé sur le serveur.

MERCI MERCI les gars.

Un adulte assis voit plus loin qu'un jeune debout.