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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de timestamp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de timestamp

n°791113
Clapsou
Posté le 09-07-2004 à 04:06:44  profilanswer
 

Salut,
 
je voudrais faire un système d'identification des visiteurs grace à un pseudo et un mot de passe et je voudrais que cette identification ne dure qu'un certain temps évidemment. Il faudrait donc que lorsque le visiteur s'identifie on enregistre dnas une table la valeur $time = "l'heure actuelle + le temps que je veux que dure l'identification" et lorsque $time < "l'heure actuelle" on supprime le visiteur qui n'est donc plus identifié. En m'inspirant d'un script pour un compteur live de connectés qui lui marche très bien j'ai donc utilisé un champ timestamp et je rentre l'heure actuelle grâce à now() qui apparament retourne le timestamp actuel. Seulement j'ai un pb, cela ne marche pas tout le temps, des fois ça enregistre parfaitement le timestamp actuel et des fois ça me met "0000000000". Vous avez déjà eu ce pb et si oui que faire ?  :??:  
Merci d'avance

mood
Publicité
Posté le 09-07-2004 à 04:06:44  profilanswer
 

n°791162
jagstang
Pa Capona ಠ_ಠ
Posté le 09-07-2004 à 09:25:32  profilanswer
 

clair, mais peu crédible. donne un peu de code stp


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°791550
Clapsou
Posté le 09-07-2004 à 14:25:25  profilanswer
 

JagStang a écrit :

clair, mais peu crédible. donne un peu de code stp

*
 
require("identif.php3" );
mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données !" );
mysql_select_db($database) or die("Impossible de selectionner la base !" );
mysql_query("DELETE FROM identip WHERE time < now()" );
$rep = mysql_query("SELECT * from identip WHERE ip='$REMOTE_ADDR'" );
$m=mysql_num_rows($rep);
 
if ($m == "0" )
{
//pas encore identifié
$timeout=3000;
$valuesList = "id_inscrit,ip,time";
$addValues = "'$id_inscrit','$REMOTE_ADDR',now()+ $timeout";
mysql_query("INSERT INTO identip (".$valuesList." ) VALUES(".$addValues." )" );
 
}
voilà jai pas tout mis hein juste l'essentiel pour effacer les visiteur identifié depuis trop longtemps et pour enregistré les visiteurs qui s'identifient


Message édité par Clapsou le 09-07-2004 à 15:18:30
n°792266
Clapsou
Posté le 10-07-2004 à 02:37:28  profilanswer
 

en fait c'est le "now() + 300" qui ne passe pas je me rend compte, il enregistre 000000000 dans la base. Parce que quand je test juste insert "now()" ça marche il me met le timestamp à la valeur actuel. D'ailleurs j'ai regardé dans la base, le timestamp n'est en fait rien d'autres que datetime c'est à dire la date suivi de l'heure, c'est normal ? C'est sans doute pour ça que ça ne passe pas!

n°792267
Flyounet_5​7
difficile à dire :/
Posté le 10-07-2004 à 02:41:32  profilanswer
 

Code :
  1. require("identif.php3" );
  2. mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données !" );
  3. mysql_select_db($database) or die("Impossible de selectionner la base !" );
  4. mysql_query("DELETE FROM identip WHERE time < now()" );
  5. $rep = mysql_query("SELECT * from identip WHERE ip='$REMOTE_ADDR'" );
  6. $m = mysql_num_rows($rep);
  7. if ( !$m )
  8. {
  9. //pas encore identifié
  10. $timeout = 3000;
  11. $t = time() + $timeout;
  12. mysql_query("INSERT INTO identip(id_inscrit, ip, time) VALUES('$id_inscrit', '$REMOTE_ADDR', '$t')" );
  13. }


entre deux ", la variable est quand même intepreté, ça peut poser prob pour un tableau mais pas là
essaye avec time() qui renvoi le timestamp actuel.


Message édité par Flyounet_57 le 10-07-2004 à 02:43:19
n°792269
Clapsou
Posté le 10-07-2004 à 03:34:05  profilanswer
 

Flyounet_57 a écrit :

Code :
  1. require("identif.php3" );
  2. mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données !" );
  3. mysql_select_db($database) or die("Impossible de selectionner la base !" );
  4. mysql_query("DELETE FROM identip WHERE time < now()" );
  5. $rep = mysql_query("SELECT * from identip WHERE ip='$REMOTE_ADDR'" );
  6. $m = mysql_num_rows($rep);
  7. if ( !$m )
  8. {
  9. //pas encore identifié
  10. $timeout = 3000;
  11. $t = time() + $timeout;
  12. mysql_query("INSERT INTO identip(id_inscrit, ip, time) VALUES('$id_inscrit', '$REMOTE_ADDR', '$t')" );
  13. }


entre deux ", la variable est quand même intepreté, ça peut poser prob pour un tableau mais pas là
essaye avec time() qui renvoi le timestamp actuel.


 
Non j'ai essayé avec time() ça ne marchait pas non plus, par contre j'ai changé le nom de mon champ que j'avais appelé bêtement time et ça a l'air de marcher, peut être que ça faisait confusier avec la fonction time() justement.

n°792277
T509
$job-&gt;GetJob(now)
Posté le 10-07-2004 à 07:55:43  profilanswer
 

now() + 3000 <=> gmdate("Y-m-d H:i:s", time()+3000)
 
gmdate() à préférer à date() puisque c'est buggé avec le passage heure été/hiver


Message édité par T509 le 10-07-2004 à 08:28:29

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !

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

  Problème de timestamp

 

Sujets relatifs
probleme d'espaces dans un lien[PHP][Résolu] Probleme avec getdate() et le mois d'octobre !
enoie automatique probléme d'adresse mail[Java][swing] problème redimensionnement splitPane
[html/ccs] petit probleme de div/tableProblème avec Requête SQL - ASP
Probleme sur liens[html/php] probleme de passage a la ligne dans un champ text [RESOLU]
probleme de cast :![PHP] - Problème de formatage d'un champ TIMESTAMP
Plus de sujets relatifs à : Problème de timestamp


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