Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1407 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  timestamp! ca bug !!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

timestamp! ca bug !!

n°280175
Profil sup​primé
Posté le 06-01-2003 à 16:11:42  answer
 

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 :cry:

mood
Publicité
Posté le 06-01-2003 à 16:11:42  profilanswer
 

n°280182
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 06-01-2003 à 16:17:43  profilanswer
 

chacal_one333 a écrit :

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 :cry:  


 
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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°280186
Profil sup​primé
Posté le 06-01-2003 à 16:20:23  answer
 

:heink:  
 
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 ..

n°280206
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 06-01-2003 à 16:27:35  profilanswer
 

chacal_one333 a écrit :

:heink:  
 
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 ..


 
...
On la refait :

Citation :

time()
Retourne le timestamp UNIX actuel.  
 
int time (void)  
time() retourne l'heure courante, mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT).  


 

Citation :


TIMESTAMP(12)  YYMMDDHHMMSS


 
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 ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°280228
Profil sup​primé
Posté le 06-01-2003 à 16:43:41  answer
 

oué m'enfin j'ai fait ca :
 

Code :
  1. $temp = time()+1800;
  2.         $valeur = strftime("%y%m%d%H%M%S", $temp);
  3.         $s="insert into session (pseudo, tps_connect) values ('$pseudo', '$valeur')";

et la il ne m'insere rien du tout :(

n°280241
Schimz
Bouge pas, meurs, ressuscite !
Posté le 06-01-2003 à 16:51:51  profilanswer
 

je fais ça pour inserer un timestamp de session :
 

Code :
  1. $date_tab = getdate();
  2. $now = mktime($date_tab[hours], $date_tab[minutes], $date_tab[seconds], $date_tab[mon], $date_tab[mday], $date_tab[year]);
  3. $expire = ($now+3900);


 
et j'insere $expire ds la base (14 chiffres).

n°280242
Profil sup​primé
Posté le 06-01-2003 à 16:52:10  answer
 

a si ca y est :)
 
20030106172051
 
Voila j'ai ca
un derniere question
est ce que :

Code :
  1. mysql_query("delete from session where ".$tps_connect."<".time());

m'effacera bien toute les connection innactive depuis 1800 seconde?

n°280252
beleg
黑社會
Posté le 06-01-2003 à 17:00:25  profilanswer
 


dou tu sors ces idées  :lol: , tu pourrais faire un effort pr y arrriver sans aide  
 :hello:

n°280256
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 06-01-2003 à 17:02:15  profilanswer
 

chacal_one333 a écrit :

a si ca y est :)
 
20030106172051


 
Bin c'est un TIMESTAMP(14), ça... :p
 

chacal_one333 a écrit :


Voila j'ai ca
un derniere question
est ce que :

Code :
  1. mysql_query("delete from session where ".$tps_connect."<".time());

m'effacera bien toute les connection innactive depuis 1800 seconde?


 
Bin a priori ui.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°280258
Schimz
Bouge pas, meurs, ressuscite !
Posté le 06-01-2003 à 17:02:32  profilanswer
 

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 !" ).

mood
Publicité
Posté le 06-01-2003 à 17:02:32  profilanswer
 

n°280262
beleg
黑社會
Posté le 06-01-2003 à 17:06:14  profilanswer
 

chakal > jutilisais un int (4octects) pour sotcker le time()+1800

n°280263
Profil sup​primé
Posté le 06-01-2003 à 17:06:21  answer
 

beleg a écrit :


dou tu sors ces idées  :lol: , tu pourrais faire un effort pr y arrriver sans aide  
 :hello:  

c'est toi qui me la dit :hello:

n°280264
Profil sup​primé
Posté le 06-01-2003 à 17:07:39  answer
 

Citation :

une petite routine de menage  
"delete * from online where finconnection < ".time()
 
ca vire ts les gens qui nont rien fait depuis 1800 secondes.

:whistle:

n°280265
Profil sup​primé
Posté le 06-01-2003 à 17:08:17  answer
 

m'enfin bon merci taiche :)

n°280267
beleg
黑社會
Posté le 06-01-2003 à 17:11:16  profilanswer
 

chacal_one333 a écrit :

c'est toi qui me la dit :hello:  


 
je sais  :whistle: , 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());

n°280286
Profil sup​primé
Posté le 06-01-2003 à 17:30:44  answer
 

beleg a écrit :


 
je sais  :whistle: , 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());

[:totoz] et merdeeee

n°280289
Profil sup​primé
Posté le 06-01-2003 à 17:33:02  answer
 

donc un ptit
 
$valeur2 = strftime("%y%m%d%H%M%S", time()) et c'est bon :)

n°280302
beleg
黑社會
Posté le 06-01-2003 à 17:52:46  profilanswer
 

:non:  ...  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
si ca doit etre bon


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  timestamp! ca bug !!

 

Sujets relatifs
[MySQL] Difference entre le type "Timestamp" et "Datetime" ??[php] timestamp en mili sec
[PHP] - Problème de formatage d'un champ TIMESTAMP[MySQL] Pb avec TIMESTAMP
[PHP / MySQL] TIMESTAMP , piti blème, vous savez surement!!!!! aidez;) 
Plus de sujets relatifs à : timestamp! ca bug !!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR