Affichage dernière visite

1/ J’aurais juste encore besoin d’un coup de main pour pour voir afficher sur une page le date de la dernière visite d’un utilisateur. C’est par exemple marqué sur la page principale de forum.
Désolé Sans-Nom mais je m’y connais pas trop, je vois pas comment faire avec ce que tu m’as donné. Le reste est réglé.

2/ En javascript ou PHP, existe-t-il un code pour afficher au visiteur la dernière modification du dossier X ainsi que de tous ses sous dossiers?

3/
Une fois de plus, IE fait son capricieux. De fait, c’est la première fois que je vois ça, j’utilise plus jamais IE. Alors si quelqu’un pouvait m’indiquer ce qui déconne dans le code, pourquoi le "sidebar (barre à gacuhe avec les catégories etc) s’affiche pas droit… Suivez là jusqu’au niveau des pubs et vous verrez ce que je veut dire…

http://old.blog.arnoz.be
Edité le 04/01/2008 à 17:10

merci de préciser le langage ds le titre de ton topic

:jap:

Voilà :slight_smile:

en php, tu as filemtime. Ensuite tu as opendir pour parcourir un dossier pour récupérer les dates des sous dossiers (avec filemtime, et is_dir, etc).

pour le second problème rien vu…

1/ Si je fais filemtime sur le dossier X:

Disons que j’ai modifié ce dossier le 25 mais le sous dossier Y le 30, la fonction affichera donc d’office 25?! En fait j’ai beaucoup de sous dossiers (albums photos) donc je vois pas trop comment faire

2/ C’est à la colonne de droite, au niveau de “Meta” (dans IE donc).

3/ Pour ne pas ouvrir un sujet, tu connaitrais une fonction PHP pour afficher la date de la dernière visite? Je chercher sur Google mais trouve rien.

setcookie + $_COOKIE. Pour ton histoire de filemtime, si tu utilises $time = max($time, filemtime($filename)); ça devrait aller…

J’aurais juste encore besoin d’un coup de main pour pour voir afficher sur une page le date de la dernière visite d’un utilisateur. C’est par exemple marqué sur la page principale de forum.
Désolé Sans-Nom mais je m’y connais pas trop, je vois pas comment faire avec ce que tu m’as donné. Le reste est réglé.

Pas une p’tite idée?!

Essaye quand même de lire la doc, y a plein d’exemples :

<?php
/* entête ... */
setcookie('lastvisit', time(), time() + 365.25*86400 );

...

echo 'Dernière visite : ', date ('d/m/Y H:i:s',
  isset($_COOKIE['lastivist']) ? $_COOKIE['lastivist']:time()
);

A noter que si tu as des problèmes genre “Headers already sent”, la doc est là pour t’expliquer le problèmes

Un grand merci!

J’ai beau lire la doc, je vois pas comment régler un truc. Dès que je reload la page, il me dit “dernière visite remonte à ‘l’heure de maintenant’”. Donc il prend pas l’heure de la dernière fois en fait…

faut quand même comprendre que le cookie n’est réellement crée qu’au prochain chargement de la page.

Et donc ça marche pas… Ca ne fonctionne pas come sur ce forum par exemple, ou il prend en compte l’heure de ma dernière visite qui datait d’hier soir. Je dois régler quoi?

Peut être ton navigateur? Il accepte les cookies au moins?

Oui. Et on m’a dit que c’est parce que le code que tu m’as donné n’est pas “dans l’ordre”. Mais je pige pas trop quoi…

Et encore une chose (oui je sais…) si il n’y a encore aucun cookie, quel code je dois mettre pour qu’à ce moment il y a ait un p’tit texte ou quoi genre “pas venur depuis longtemps” etc…

Pour le machin depuis longtemps, tu bosses avec une date exprimée en secondes donc t’as plus qu’à faire les calculs idoines (1 jour = 86400 secondes).

Pour le cookie, normalement quand tu fais un setcookie, le tableau $_COOKIE n’est pas modifié. SI c’est le cas, tu peux tenter de faire ça :

<?php
/* entête ... */
$lastvisit = isset($_COOKIE['lastivist']) ? $_COOKIE['lastivist']:time();
setcookie('lastvisit', time(), time() + 365.25*86400 );

...

echo 'Dernière visite : ', date ('d/m/Y H:i:s', $lastvisit);
?>

Ah, ça me soaule! Ca marche toujours pas comme ça. Il prend encore en compte l’heure du moment…

isset($_COOKIE[‘lastivist’]) ? $_COOKIE[‘lastivist’]:time();
-> isset($_COOKIE[‘lastvisit’]) ? $_COOKIE[‘lastvisit’]:time();

Voilà ce qui arrive quand on reprend ce que j’écris sans chercher à comprendre…

Juste…

Merci.