Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    no, sbagli qui
    Originariamente inviato da phpmydeath
    Codice PHP:
    $query 'SELECT Login, Password FROM Docente WHERE Login=\''.addslashes($_REQUEST['login']).'\'';
      
    $result $__MYSQLI->query($query);
      
    $_SESSION['started'] = $r['UltimoAccesso']; 
    1)dalla tabella docente non hai preso nessun campo che si chiama UltimoAccesso quindi non hai un valore da salvare nella sessione
    2)se anche avessi selezionato quel campo, non te lo stamperebbe comunque perché hai usato la mia stessa sintassi ($r['UltimoAccesso']), che nel tuo caso non ha senso perché non hai nessun array che si chiama $r
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  2. #12
    Scusami ero in palla, credo come ora.
    Tra i deiversi copia ed incolla avrò fatto un casino non ragionandoci più sopra.

    Codice PHP:
    $query 'SELECT UltimoAccesso FROM Docente WHERE Login=\''.addslashes($_SESSION['login']).'\'';
    $result $__MYSQLI->query($query); 
    if (
    $result->num_rows 0
    while( 
    $row$result->fetch_assoc() )
    {
    $_SESSION['started'] = $row['UltimoAccesso']};
     
    $query 'UPDATE Tesi.Docente SET UltimoAccesso= now() WHERE Login=\''.addslashes($_SESSION['login']).'\''
     
    $result $__MYSQLI->query($query);
     print 
    "Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($row['UltimoAccesso']))." alle ore ".date('H:i:s',strtotime($row['UltimoAccesso']))."
    "
    ;
    print 
    "Ultimo accesso avvenuto il ".$row['UltimoAccesso']."
    "

    Il primo print esce inesorabilamente:
    codice:
    Ultimo accesso avvenuto il 01-01-1970 alle ore 01:00:00
    il secondo print:
    codice:
    Ultimo accesso avvenuto il 2012-07-16 22:16:38
    Con la variante che quando aggiorno modifica nuovamente l'orario, ma riferisce comunque al vecchio login.

    Ora più di prima non riesco a capire dove erro.
    scusami

  3. #13
    Originariamente inviato da phpmydeath

    Il primo print esce inesorabilamente:
    codice:
    Ultimo accesso avvenuto il 01-01-1970 alle ore 01:00:00
    probabilmente è riferito alle precedenti valorizzazioni del campo.
    Ti manca il controllo sulla "prima volta" e cioè, se l'utente fa il login per la prima volta, ovviamente non ci sarà un login precedente.
    Quindi dopo la prima select fai un controllo se Ultimo_Accesso è vuoto, in tal caso dai alla sessione la data odierna.
    Svuota il campo e fai una prova.

    Originariamente inviato da phpmydeath
    il secondo print:
    codice:
    Ultimo accesso avvenuto il 2012-07-16 22:16:38
    Con la variante che quando aggiorno modifica nuovamente l'orario, ma riferisce comunque al vecchio login.

    Ora più di prima non riesco a capire dove erro.
    scusami
    probabilmente perché non hai un controllo che limiti tutto questo al solo momento in cui si effettua il login
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  4. #14
    Purtroppo non è così

    Questi sono i valori dei campi di phpmyadmin, in ordina matricola, login, password ed ultimo accesso:
    codice:
     
    1
    alcinoo
    abdc2de2ed415f2e6e1a9d42527b6fec
    2012-07-16 22:39:46
    
    23232323
    simo
    43bd48ade3219a1931115a1dabbe1a7f
    2012-07-15 13:17:45
    
    76
    Ulisse
    76638e1518227cc9807e81b3d1920e7e
    2012-07-16 06:56:35
    ed ultimamente facevo sempre gli ingressi con alcinoo.

    Ora ti racconto cosa mi succede: per ordine ho tre file login.php, logout.php e home.php.
    Quando inserisco
    codice:
        $_SESSION['started'] = date('Y-m-d H:i:s');
        $date=$_SESSION['started'];
    nel file login.php e poi nel file home.php (dove avvengono tutte le query) lo riporto come

    con un print:
    Codice PHP:
    print "Ultimo accesso avvenuto il ".$_SESSION['started']."
    "

    mi riporta esattamente la data di login:
    codice:
    Ultimo accesso avvenuto il 2012-07-17 00:04:57
    Quando invece tento di trasferire il suo valore in $row, così
    Codice PHP:
    $_SESSION['started'] = $row['UltimoAccesso']; 
    esso non lo permette la prima variabile resta aggiornata come da sessione ed ultimo accesso resta vuoto con la data del 1970. In ogni modo il campo sul database non riporta mai questa data ma è sempre aggiornato dall'update now().

    edit: i valori dei campi ultimo accesso per ora non saranno mai vuoti, perché inizialmente sarà io direttamente da phpmyadmin ad inserire il valore di matricola chiave primaria, nome, cognome, login e password con questo intervento il campo dell'ultimo accesso si aggiorna automaticamente perché in default timestamp

  5. #15
    Buongiorno,
    se usassi un meccanismo del genere per far spirare la sessione quando inutilizzata o chiusa inaspettamente per mezzo del browser:
    Codice PHP:
    if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
        
    // last request was more than 30 minates ago
        
    session_destroy();   // destroy session data in storage
        
    session_unset();     // unset $_SESSION variable for the runtime
    }
    $_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp 
    Credi che potrebbe funzionare?

  6. #16
    Stamattina più fresco ho provveduto a riportarmi nello standard che mi hai specificato.
    Ho provveduto ad eseguire questo:
    Codice PHP:
    $query 'SELECT UltimoAccesso FROM Docente WHERE Login=\''.addslashes($_SESSION['login']).'\''
    $result $__MYSQLI->query($query);  
    if (
    $result->num_rows 0)  
    while( 
    $row$result->fetch_assoc() ) 

    $_SESSION['started'] = $row['UltimoAccesso'];
    echo 
    'dai ultimo accesso:'.$row['UltimoAccesso']."
    "
    ;
    };
    $query 'UPDATE Tesi.Docente SET UltimoAccesso= now()';
    $result $__MYSQLI->query($query); 
    Compare la data riferente all'ultimo accesso, cioè quello precedente, ma l'aggiorna ogni volta faccia un refresh.

    Commentando la query inerente all'update questo problema si perde e la data resta fissa.

  7. #17
    Originariamente inviato da phpmydeath
    Stamattina più fresco ho provveduto a riportarmi nello standard che mi hai specificato.
    Ho provveduto ad eseguire questo:
    Codice PHP:
    $query 'SELECT UltimoAccesso FROM Docente WHERE Login=\''.addslashes($_SESSION['login']).'\''
    $result $__MYSQLI->query($query);  
    if (
    $result->num_rows 0)  
    while( 
    $row$result->fetch_assoc() ) 

    $_SESSION['started'] = $row['UltimoAccesso'];
    echo 
    'dai ultimo accesso:'.$row['UltimoAccesso']."
    "
    ;
    };
    $query 'UPDATE Tesi.Docente SET UltimoAccesso= now()';
    $result $__MYSQLI->query($query); 
    Compare la data riferente all'ultimo accesso, cioè quello precedente, ma l'aggiorna ogni volta faccia un refresh.

    Commentando la query inerente all'update questo problema si perde e la data resta fissa.

    ecco. ora tutto questo codice devi fare in modo che venga eseguito una solta volta, cioè nel momento in cui si effettua il login.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  8. #18
    Originariamente inviato da Manuelandro
    ecco. ora tutto questo codice devi fare in modo che venga eseguito una solta volta, cioè nel momento in cui si effettua il login.
    Grazie ce l'ho fatta!

    Mettendo nella home solo:
    Codice PHP:
    echo 'dai ultimo accesso:'.$_SESSION['started']."
    "

    e nel login tutto il motore precedentemente postato.

    Grazie per la pazienza e la fiducia che hai riposto in me, te ne sono molto grato per il gesto che hai fatto; debitore.
    Purtroppo sono poco elastico con la programmazione, ma inzio forse troppo tardi a capire, ma c'è sempre tempo.

    Grazie ancora e buona giornata.

  9. #19
    l'importante è che hai capito quello che hai programmato. ciao
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  10. #20
    Sì quello sì.

    Ciao.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.