timestamp! ca bug !! - PHP - Programmation
Marsh Posté le 06-01-2003 à 16:17:43
chacal_one333 a écrit : c'est bien simple je fait une requete toute conne
|
http://www.mysql.com/doc/en/DATETIME.html
Regarde le TIMESTAMP(12) à quoi ça correspond. Le timestamp retourné par time() est en fait un nombre très long correspondant à un truc genre le nombre de secondes depuis le 1er janvier 1970 ou un truc du style. Bref, en tant que tel, je l'utilise jamais mais y a plein de fonctions PHP pour te convertir le résultat de time() vers un nombre exploitable par MySQL. Du genre strftime() par exemple.
Marsh Posté le 06-01-2003 à 16:20:23
c'est juste pour un timeout d'un compteur de personne !
jvet pas de mktime !
jveux juste qu'au bout de 1800s ca declanche un truc !
mais si je n'arrive pas a inserer le 1800 dans la table ben ..
Marsh Posté le 06-01-2003 à 16:27:35
chacal_one333 a écrit : |
...
On la refait :
Citation : time() |
Citation : |
Donc si tu lui fais ton insert cash sur ta valeur (avec ou sans 1800 ajoutés, on s'en fout), tu vas insérer des secondes au lieu d'un format type YYMMDDHHMMSS. Comme MySQL reçoit des trucs qu'il ne comprend pas, bin il part en vrille et fout un gros 000000000000 dans le champ. C'est tout.
Faut donc faire un $valeur = strftime("%y%m%d%H%M%S", $temp) et insérer $valeur en base.
Capice ?
Marsh Posté le 06-01-2003 à 16:43:41
oué m'enfin j'ai fait ca :
Code :
|
et la il ne m'insere rien du tout
Marsh Posté le 06-01-2003 à 16:51:51
je fais ça pour inserer un timestamp de session :
Code :
|
et j'insere $expire ds la base (14 chiffres).
Marsh Posté le 06-01-2003 à 16:52:10
a si ca y est
20030106172051
Voila j'ai ca
un derniere question
est ce que :
Code :
|
m'effacera bien toute les connection innactive depuis 1800 seconde?
Marsh Posté le 06-01-2003 à 17:00:25
dou tu sors ces idées , tu pourrais faire un effort pr y arrriver sans aide
Marsh Posté le 06-01-2003 à 17:02:15
chacal_one333 a écrit : a si ca y est |
Bin c'est un TIMESTAMP(14), ça...
chacal_one333 a écrit :
m'effacera bien toute les connection innactive depuis 1800 seconde? |
Bin a priori ui.
Marsh Posté le 06-01-2003 à 17:02:32
bah pour moi, à chaque appel d'une page je check le timestamp de la session (que j'envoie ds l'url ou par formulaire) et je le compare au timestamp du serveur. si il est < j'update le timestamp de session sinon je redirige vers une page d'avertissement ("session expirée !" ).
Marsh Posté le 06-01-2003 à 17:06:14
chakal > jutilisais un int (4octects) pour sotcker le time()+1800
Marsh Posté le 06-01-2003 à 17:06:21
beleg a écrit : |
c'est toi qui me la dit
Marsh Posté le 06-01-2003 à 17:07:39
Citation : une petite routine de menage |
Marsh Posté le 06-01-2003 à 17:11:16
chacal_one333 a écrit : c'est toi qui me la dit |
je sais , faudrait donc que tu convertisses ton time() au meme format que ce quil ya ds la base pr que la comparaison seffectue.
mysql_query("delete from session where tps_connect <".time());
Marsh Posté le 06-01-2003 à 17:30:44
beleg a écrit : |
et merdeeee
Marsh Posté le 06-01-2003 à 17:33:02
donc un ptit
$valeur2 = strftime("%y%m%d%H%M%S", time()) et c'est bon
Marsh Posté le 06-01-2003 à 16:11:42
c'est bien simple je fait une requete toute conne
$temp = time()+1800;
$s="insert into session (pseudo, tps_connect) values ('$pseudo', '$temp')";
ca m'insere bien le pseudo mais en $temp ca me met
000000000000 !
Je suis en timestamp(12) je sais pas pk ca fait ca