phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

problema con date() and Database

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
alexxio1989
Utente
Utente
Messaggi: 2
Iscritto il: 15/06/2013, 3:09

problema con date() and Database

Messaggio da alexxio1989 » 06/07/2013, 17:53

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 :

Codice: Seleziona tutto

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

Codice: Seleziona tutto

<?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

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti