Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: Timestamp - gestione

  1. #1

    Timestamp - gestione

    Salve ragazzi,

    posto direttamente il pezzo di codice incriminato ( un po' errato) e poi vi spiego:

    codice:
    <?php
    $query = 'SELECT UltimoAccesso FROM Utente WHERE Login=\''.addslashes($_SESSION['login']).'\''; 
    $now = "INSERT INTO  `Utente` (`UltimoAccesso`) VALUES ('',  '',  '',  '',  '',  '', NOW( ))";
          $result = $__MYSQLI->query($query);
          
          if ($result->num_rows > 0)
          while( $now= $result->fetch_assoc() )
          	{
        		print_r($now['UltimoAccesso']);
    		}
    
    ?>
    Chiedo numi. Vorrei che fosse possibile che l'utente, una volta logato veda il suo ultimo accesso effettuato, non quello corrente.
    Esempio: se alla piattaforma dovessi logarmi alle ore 10:30 del mattino e poi rilogarmi a mezzogiorno, vorrei che uscisse indicato: "il suo ultimo accesso è avvenuto alle ore 10:30". Come posso fare?

    Nella tabella ho solo i campi: Utente, Login, Password e UltimoAccesso.

    Grazie a chi saprà fornirmi delucidazioni.
    Saluti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    la INSERT non viene chiamata nel tuo codice... prova con:

    Codice PHP:
    <?php
    $query 
    'SELECT UltimoAccesso FROM Utente WHERE Login=''.addslashes($_SESSION['login']).'''
    $result $__MYSQLI->query($query);
    $ultacc '(n.a.)';
    if (
    $result->num_rows 0)
    while( 
    $now$result->fetch_assoc() ) {
    $ultacc $now['UltimoAccesso'];
    };
    $query "INSERT INTO  `Utente` (`UltimoAccesso`) VALUES ('',  '',  '',  '',  '',  '', NOW())";
    $result $__MYSQLI->query($query);

    // ...
    print "ULTIMO ACCESSO: $ultacc";
    ?>

  3. #3
    Credo di no!
    L'ho fatta in modo un po' avventato.

    Dovrei creare un nuovo campo per fare quello che desidero, effettuando il confronto tra timestamp o basta solo UltimoAccesso?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ri-controlla il mio post... era saltato un pezzo di codice...

  5. #5
    In verità ottengo un errore:
    Parse error: syntax error, unexpected '}' in /var/www/html/Tesi/pages/home.php on line 19


    Ti rimando il codice per intero (cambiato con i nomi opportuni degli attributi):
    codice:
    <?php
    if (isset($_SESSION['login']) && $_SESSION['isLoggedIn'] == 'true')
    {
    ?>
    Esci
    <?php
    }
    ?>
    <div id='registrazione'>
    	Registrazione
    </div>
    
    <?php 
    $query = 'SELECT UltimoAccesso FROM Docente WHERE Login=\''.addslashes($_SESSION['login']).'\'';  
    $result = $__MYSQLI->query($query); 
    $ultacc = '(n.a.)'; 
    if ($result->num_rows > 0) 
    while( $now= $result->fetch_assoc() ) { 
    $ultacc = $now['UltimoAccesso']}; 
    $query = "INSERT INTO  `Tesi`.`Docente` (`UltimoAccesso`) VALUES ('',  '',  '',  '',  '',  '', NOW())"; 
    $result = $__MYSQLI->query($query); 
    
    print "ULTIMO ACCESSO: $ultacc";
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    $ultacc = $now['UltimoAccesso']}; -------> $ultacc = $now['UltimoAccesso']; };

  7. #7
    Ok era un problema di punto e virgola su un'istanza, l'avevo visto anch'io, ricontrollando il codice.

    L'avvertimento dell'orario esce, solo che quando mi slogo come account nel rilogarmi non ottengo i dati aggiornati


    anyway, molte grazie per i tuoi interventi eiyen

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    e cosa ottieni? probabilmente c'è un errore nella logica del flusso delle operazioni... inoltre controlla cosa viene salvato sul db ad ogni step

  9. #9
    Ottengo questo:
    Esci //link
    Registrazione //link
    ULTIMO ACCESSO: 2012-07-05 12:13:23

    ma continuo a scollegarmi ed a ricollegarmi ma non cambia il timestamp!

  10. #10
    Ho fatto la query direttamente da terminale ed ottengo:

    mysql> INSERT INTO `Tesi`.`Docente` (`UltimoAccesso`) VALUES ('', '', '', '', '', '', NOW());
    ERROR 1136 (21S01): Column count doesn't match value count at row 1


    Allora potremmo fare direttamente che aggiorni solo l'ultimo accesso e non tutti i campi, sarebbe inutile.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.