Problema con date () e database

Alessio Pinna

Nuovo Utente
15 Set 2012
22
0
0
Buongiorno Forum :p

Ho un problemino da risolvere :

Dovrei riuscire a stampare su schermo l'orario d'accesso e l'orario d'uscita di un'utente :

Partiamo dal presupposto che i due tipi di orari verranno salvati in una tabella chiamata "admin" in due colonne di tipo TIME chiamate "timeon" e "timeoff" (quindi quando hanno valore empty stanno in questa condizione: 00:00:00).

Per richiamare il contenuto (e/o aggiornarlo) di queste due colonne uso questo metodo :

PHP:
$admin1= mysql_query("SELECT timeon,timeoff FROM admin WHERE id=1;");
                        while ($row1= mysql_fetch_assoc($admin1)){                        
                        $timeon1=$row1["timeon"];
                        $timeoff1=$row1["timeoff"]; 
                         }

Senza che vi sto a scrivere tutta la parte che descrive come identifico lo stato dell'utente , vi dico solo che ho una variabile di nome $stato che avrà due tipi di valori : login o logout.

E fino a qui ci siamo !!!

Adesso dovrei riuscire a mandare in database (nelle due colonne descritte sopra) gli orari di login e logout , io ho provato in questo modo :

PHP:
<?php 
                                                   if($stato == "login")
                                                   {
                                                   echo "LOGIN";
                                                   if ($timeon1 ="00:00:00")
                                                   {
                                                   $dataon1 =date("H:i:s");
                                                   $phpdateon1 = strtotime( $dataon1 ); 
                                                   $query = mysql_query("UPDATE admin SET timeon = FROM_UNIXTIME($phpdateon1) WHERE id = 1");
                                                   }                                                   
                                                   }
                                                   else
                                                   {
                                                   echo "LOGOUT";
                                                   if ($timeoff1 ="00:00:00")
                                                   {
                                                   $dataoff1 =date("H:i:s");
                                                   $phpdateoff1 = strtotime( $dataoff1 ); 
                                                   $query = mysql_query("UPDATE admin SET timeoff = FROM_UNIXTIME($phpdateoff1) WHERE id = 1");
                                                   } 
                                                   }
                                                   
                                                   ?>
                                                   </b><br>                                                
                                                   
                                                   <b> - Login at : <?php  echo $timeon1; ?></b><br>  
                                                   <b> - Logout at : <?php echo $timeoff1; ?> </b><br>                            
                                                   
                                                   </label>
                                                   <?php

Quale è il problema?

Ho provato a mettere un controllo sulle due colonne e far scrivere nel database gli orari solo quando queste sono "empty" (quando si dovrà analizzare un'altro utente l'aggiornamento delle colonne per un nuovo ciclo utente verrà fatto con un tool esterno) , ho fatto cosi perchè se io scrivo direttamente l'aggiornamento dell'orario in DB e poi vado a ricaricare la pagina l'orario salvato si aggiorna e quindi gli orari che mi servono (login e logout) si vanno a perdere (questo è uno dei problemi) , il secondo problema sta nel fatto che se l'utente si collega e quindi fa il login , mi aggiorna il dato in database nella colonna timeon ma non mi stampa (echo $timeon1; ) subito il suo contenuto ma lo fa solamente quando l'utente fa il logout , che poi mi aggiorna l'orario in database in timeoff ma non mi stampa (echo $timeoff1; ) il suo contenuto quando l'utente fa il logout

Alla fine mi serve :
- Qualcosa che mi mantenga in database nelle due colonne corrispettive gli orari d'accesso e d'uscita senza che questi si aggiornino ad ogni ricarico della pagina
- Ovviamente il programma deve riuscire a stampare l'orario d'accesso subito dopo che l'utente ha fatto il login e lo stesso deve fare per il logout

Vi ringrazio in anticipo
 
Ultima modifica:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Alla fine mi serve :
- Qualcosa che mi mantenga in database nelle due colonne corrispettive gli orari d'accesso e d'uscita senza che questi si aggiornino ad ogni ricarico della pagina
- Ovviamente il programma deve riuscire a stampare l'orario d'accesso subito dopo che l'utente ha fatto il login e lo stesso deve fare per il logout
E' più semplice di quanto tu possa immaginare.
Basta andare nella pagina di login e aggiungere il current timestamp oppure l'ora esatta (come preferisci) nel db.
Stessa cosa vale per la pagina di logout inserendo l'ora in cui fa il logout.
Tu in quel modo mi sembra di capire che lo fai per ogni pagina e così crei un casino.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Però in questo modo non registrerai l'orario di uscita in caso l'utente chiuda il browser senza passare per il logout.

Se vuoi gestire anche questa situazione, dovrai salvare le sessioni nel database e farle scadere dopo un determinato periodo di inattività. Quando scadono salvi anche l'orario di logout.

Generalmente, però, nei log si salvano solamente gli accessi, non le uscite.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Questo è uno dei motivi per cui di solito si registra l'orario di ingresso, unito al fatto che l'orario di uscita è solitamente inutile.

Di solito lo utilizzano i giochi online per far vedere la durata alla fine di ogni sessione di gioco appunto (e anche la totale).
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
A parte quelli che hanno l'applicativo che va scaricato e installato (che utilizzano metodi diversi) anche alcuni semplici giochi online lo fanno.
Ma che intendi per giochi online?
Giochi appunto in rete con altri giocatori reali che interagiscono attraverso il browser :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
V [MySQL] problema query con date su server MySQL 5
A Problema con "explode" su campo date PHP 9
M Problema con date importate da file txt PHP 13
S Problema con date in php PHP 2
F Problema formattazione data e creazione array con nuove date Javascript 2
T Problema: Confronto date con Mysql PHP 3
G problema con date('His') PHP 5
M [PHP] calendario con eventi problema con date PHP 9
O problema con Dreamweaver, Access e date MS Access 0
H Problema Con Le Date E L'ora Classic ASP 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0

Discussioni simili