Souci pour une fonction date

will.smith Messages postés 264 Statut Membre -  
will.smith Messages postés 264 Statut Membre -
bonjour,

j'ai remis une fonction pour la date pour savoir qu'elle est la date de sa dernier visite

le code :

<?php
	  echo'<li><div class="texte_blanc">Dernière visite : '.$insc = $data1['membre_derniere_visite'];
	  if(date('d/m/Y à H\hi') == date('dmY', $insc))
	   echo 'Aujourd\'hui';
	   else if((date('d') - 1) == date('d', $insc) AND date('mY') == date('mY', $insc))
	    echo 'Hier';
		else
		 echo date('d/m/Y à H\hi', $insc)
		 .'</div></li>';
?>


mais il me met :

1245148111Hier

au lieu d'affiché :

hier à 23 h

et quand il se connecte aujourd'hui :

124525128217/06/2009 à 17h08

au lieu d'affiché :

aujourd'hui à 17 h 08

merci de me dire où est l'érreur

et entre parenthèse

j'ai voulu éssayé d'affiché cette méthode juste pour que je sache :

Dernière visite : il y as 10 s où il y as 1 mn où il y as 1 h où 2 h et ensuite à partir de 3 h je remettrais aujourd'hui

donc j'ai éssayé de mettre au lieu de H j'ai pensé à mettre un I et S

donc comment je dois procédé

merci de votre aide

29 réponses

will.smith Messages postés 264 Statut Membre 10
 
où c'est moi qui beugue enfin je verrais plus tard voir si ca fait pareil où ca ne change pas et ca fait 1 seconde par seconde

juste une autre question qui n'est pas important c'est juste pour ma culture des codes lol

es ce que tu serais faire quand il se déconnecte on verras la même chose mais l'inverse là c'est le temps qu'il est resté connecté donc c'est bon

mais j'aimerais savoir comment faire pour dire quand le membres est déconnecté il y as 1 s où 1 mn enfin l'inverse ceux qu'on as fait là

merci

peut etre il faut rajouté un champs de plus pour permettre de savoir dépuis quand il s'est déconnecté

je croit on peut le faire sur ce même code pour la date

merci
0
Alkaaran Messages postés 291 Statut Membre 37
 
Alors tout dépend de quand tu enregistre en base de données 'membre_dernière visite'

Le plus simple serait de faire ça dès qu'il se connecte ET de réenregistrez dès qu'il se déconnecte, ensuite je sais pas si tu l'a déjà fait mais il faudrait enregistrer son statut (connecté ou déconnecté)

Comme cela tu pourra avoir

S'il est connecté, son temps de connexion :
$tps_de_connexion = time() - $membre_derniere_visite;

S'il déconnecté, pour avoir depuis quand il l'est, tu reprends le code qu'on a élaboré :)
0
will.smith Messages postés 264 Statut Membre 10
 
ok mais je met où ce code à qu'elle niveau

$tps_de_connexion = time() - $membre_derniere_visite;
0
Alkaaran Messages postés 291 Statut Membre 37
 
oula c'etait un simple exemple, mais tu reprends notre code (qui va etre en fait le formatage des dates/heures) et c'est $insc qui va changer à cahque fois, mais voici a peu pres la demarche :

Pour simplifier ton code, met ce que nous avons fait dans une fonction, appelle la par exemple format_temps( $temps_a_formater )

(a toi de placer le code selon une certaine logique)

la page de connexion :
le membre se connecte, la variable membre_derniere_visite que tu recupere en BDD te sert a lui dire depuis quand il ne s'est pas connecté:

la tu appelle ta fonction avec en parametre $membre_derniere_visite : format_temps( $membre_derniere_visite )

ensuite tu enregistre la connexion de l'utilisateur dans membre_derniere_visite

la page de deconnexion :
le membre se déco, la variable memebre_derniere_visite contient l'heure a laquelle il s'est connecté, donc tu fais la meme chose qu'avant : format_temps( $membre_derniere_visite )

et tu enregistre dans la deconnexion pour pouvoir la réutiliser dans la prochaine fois qu'il se connectera :)


Ai-je été assez clair ? :s
0
will.smith Messages postés 264 Statut Membre 10
 
merci je comprend mais je verrais ca plus tard car là c'est un peut flou lol

mais merci pour ton aide
0
will.smith Messages postés 264 Statut Membre 10
 
re

excuse moi j'ai encore une question car il y as un beugue

donc dés qu'il m'affiche 59 mn et aprés il devrait mettre 1 h et 01 mn logiquement

mais j'ai attendu pour voir aprés les 59 mn il as oublié d'affiché 1 h et il as passé de 59 mn à 2 h il y as fait un bon d'1 h donc il faut trouvé pour quoi il as oublié de mettre 1 h

et aussi il y as un autre souci quand il m'a affiché 2 h donc j'ai attendu 2 mn aprés pour voir s'il m'affiche bien 2 h et 2 mn mal heureusement il as oublié d'affiché les mn aprés avoir passé les heures

es ce que tu peut me remettre 1 h et aussi aprés les heurs et il faudras rajouté les minutes car il as oublié

et aussi j'ai trouvé comment convertir le jour anglais en français

http://www.commentcamarche.net/forum/affich 781989 php comment mettre la date en francais
et j'ai éssayé de mettre les jours en français avec un aray mai ca ne fonctionne pas


et aussi un e question es ce que tu peux me dire ou tu as mis le jours car le jours devrait être marqué un I mais je n'ai pas trouvé

merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alkaaran Messages postés 291 Statut Membre 37
 
Pour le jour tu ne me l'a pas demandé donc je l'ai pas mis ^^

Dis moi juste ou tu veux le mettre :)

<?php

function format_temps( $tps_a_formatter )
{
	$difference = time() - $tps_a_formatter;
	$heure_defaut = 3;
	echo '<li><div class="texte_blanc">Dernière visite : ';

	//Si c'est aujourd'hui
	if(date('dmY') == date('dmY', $tps_a_formatter))
		//Si c'est il y a moins de 3 heures
		if( $difference < $heure_defaut*3600 )
		{
			echo 'Il y a ';
			if ($difference >= 3600)
				echo (int)($difference/3600)."h ";
			if ($difference >= 60)
				echo strftime("%Mm ",$difference);
			else echo strftime('%Ss ',$difference);

		}
		//Si c'est il y a plus de trois heures
		else
			echo 'Aujourd\'hui ';
	//Si c'est hier
	else if((date('d') - 1) == date('d', $tps_a_formatter) AND date('mY') == date('mY', $tps_a_formatter))
	    echo 'Hier ';
	//Si c'est une autre date
	else
		echo date('le d/m/Y', $tps_a_formatter) ;

	//Puis affichage de l'heure si on est à plus de 3 heures
	if( $difference >= $heure_defaut*3600 ) 
		echo  date('à H\hi', $tps_a_formatter).'</div></li>';
}
?>
0
will.smith Messages postés 264 Statut Membre 10
 
merci mais la phrase ne se voit pas lol car il est en transparent lol
0
will.smith Messages postés 264 Statut Membre 10
 
ha oui je ne veux pas mettre lundi mardi etc...

mais juste :

le 21/06/09 à 1 h et 20 mn et 30 s

et quand c'est 1 mn je veux aussi affiché les secondes

par exemple :

05 seconde

et aprés 1 mn et 15 s où 50 mn et 30 s etc..

et ensuite ca passe 1 h et 00 mn et 30 s

et 1 h 30 mn et 45 s etc...

mais ton code il marchais mais juste quil y as oublié le 1 h et dés qu'il y as 59 mn au lieu de mettre 1 h il met 2 h
mais par contre aprés le 59 mn

merci de ton, aide

ps si tu peut me faire l'inverse quand il se déconnecte qui repart à 1 seconde ca seras hyper sympas meme si tu peut le faire pour la fin de la semaine je ne suis pas pas préssé

merci
0
Alkaaran Messages postés 291 Statut Membre 37
 
<?php
function format_temps( $tps_a_formatter )
{
	$difference = time() - $tps_a_formatter;
	$heure_defaut = 3;
	echo '<li><div class="texte_blanc">Dernière visite : ';

	//Si c'est aujourd'hui
	if(date('dmY') == date('dmY', $tps_a_formatter))
		//Si c'est il y a moins de 3 heures
		if( $difference < $heure_defaut*3600 )
		{
			echo 'Il y a ';
			if ($difference >= 3600)
				echo (int)($difference/3600)."h ";
			if ($difference >= 60)
				echo strftime("%Mm ",$difference);
			echo strftime('%Ss ',$difference);

		}
		//Si c'est il y a plus de trois heures
		else
			echo 'Aujourd\'hui ';
	//Si c'est hier
	else if((date('d') - 1) == date('d', $tps_a_formatter) AND date('mY') == date('mY', $tps_a_formatter))
	    echo 'Hier ';
	//Si c'est une autre date
	else
		echo date('le d/m/Y', $tps_a_formatter) ;

	//Puis affichage de l'heure si on est à plus de 3 heures
	if( $difference >= $heure_defaut*3600 ) 
		echo  date('à H\hi', $tps_a_formatter).'</div></li>';
}
?>


Voila ca c'est pour le truc des secondes, ensuite pour la deconnexion il faudrait que tu me donne la totalité de tes fichiers de connexion et deconnexion pour que je sache ou placer ca
0
will.smith Messages postés 264 Statut Membre 10
 
merci je vais t'envoyé les codes par mp et tu me diras car il y as une érreur je ne comprend pas où est

merci
0