Problème de timestamp - PHP - Programmation
Marsh Posté le 09-07-2004 à 09:25:32
clair, mais peu crédible. donne un peu de code stp
Marsh Posté le 09-07-2004 à 14:25:25
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
Marsh Posté le 10-07-2004 à 02:37:28
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!
Marsh Posté le 10-07-2004 à 02:41:32
Code :
|
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.
Marsh Posté le 10-07-2004 à 03:34:05
Flyounet_57 a écrit :
|
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.
Marsh Posté le 10-07-2004 à 07:55:43
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
Marsh Posté le 09-07-2004 à 04:06:44
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