Version complète: sur le forum Webmaster Hub : Enregistrer durée de la session
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
jokerman
Bonjour,

Voici mon probleme :
- j'ai un petit outil dynamique php/mysql
(saisie d'informations via un formulaire en ligne)
- cet outil est utilisé par plusieurs employés.

je souhaite enregistrés la durée de travail (saisie d'informations) pour chaque employé lorsqu'il utilise ce petit outil.

j'ai une table staff_tbl
---------------------------
id_staff
username
password

j'ai une table staff_log_tbl
---------------------------
id_log
id_staff
date_jour (date 0000-00-00)
time_log_in (time 00:00:00)
time_log_out (time 00:00:00)

- a chaque connexion d'un employé (session) je crée une entrée dans la table staff_log_tbl (id_staff,date_jour,time_log_in).
pour le champ date_jour je fais un date("Y-m-d").
pour le champ time_log_in je fais un date("H:m:i").
et j'enregistre dans la session l'id du log


login.php
CODE
/* aprés vérif username,pasword, je recup l'id du user dans la base, puis je crée le log */
$sql = "INSERT INTO $Staff_log_Tbl SET
  staff_id='".$rowUser['id']."',
  date_log='".date("Y-m-d")."',
  time_log_in='".date("H:m:i")."',
  what='in'";
                  mysql_query($sql, $link) or die(mysql_error());
  $log_id = mysql_insert_id($link);
  $_SESSION['log_id'] = $log_id;
/* redirection vers l'outil,  ./folder/index.php */



- a chaque déconnexion d'un employé (session) je met à jour la table staff_log_tbl
pour le champ time_log_out je fais un date("H:m:i").

Mon probleme, je me connecte a 14:00:00, j'ai bien dans la base :
time_log_in = 14:00:00,
je me déconnecte au bout de 10 mn, et la j'ai dans la base :
time_log_in = 14:00:03 (c'est un exemple) la deconnection se fait par le biais d'un lien qui apelle la page de deconnection, dans laquelle je met a jour la table staff_log_tbl

log_off.php
CODE
/* mise à jour du log */
$sql = "UPDATE $Staff_log_Tbl SET time_log_out='".time("H:m:i")."' WHERE id='".$_SESSION['log_id']."'";
mysql_query($sql, $link) or die(mysql_error());
/* destruction de la session etc ... */


je n'arrive pas à enregistrer l'interval réel entre la connexion et la deconnexion sad.gif

merci de votre aide !

jokerman.
bozoleclown
tu peux faire un copier/coller des bouts de code importants
car là je penche plutot du coté du mauvais bug bien caché

Puis bon comme ça à froid sans plus d'infos, on peut pas te répondre.
jokerman
j'ai ajouté les portions de code, si cela peut aider
merci à toi smile.gif
bozoleclown
ok g trouvé
je pense

tu executes dans le login
date("H:m:i") pour déterminer l'heure de connexion
H : Heure, au format 24h, avec les zéros initiaux
m : Mois au format numérique, avec zéros initiaux !!!!! IMSTP6.gif
i : Minutes avec les zéros initiaux

http://www.php.net/manual/fr/function.date.php

et sinon tu fais un pour le logoff.php
time("H:m:i") pour déterminer l'heure de déconnexion

donc déjà je te conseille d'utiliser la fonction date() pour les 2
et d'ecrire plutot

date("H:i:s")
ghost
Bonsoir,

Pourquoi n'utilisez vous pas directement timestamp pour la bd ?
ça facilite et simplifie les calculs ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.