Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234

    Salvare dati ultimo accesso utente

    Ciao,
    sto cercando di implementare nel mio sito la possibilità di registrare l'ip e la data + ora dell'ultimo accesso da parte di un utente alla sua area privata..

    per prima cosa ho una tabella chiamata users dove ho appunto i dati degli utenti salvati in campi nominati così:
    idus, user, pasw, sezn, sezp, sezg

    ho pensato di creare altri tre campi in questo modo:
    `lstlogt` time NULL default NULL,
    `lstlogd` date NULL default NULL,
    `lstlogip` int(11) default NULL,

    in modo da avere last login time, last login date e last login ip
    idus, user, pasw, sezn, sezp, sezg, lstlogt, lstlogd, lstlogip

    A questo punto nel form di connessione all'area privata ho pensato di passare al momento del corretto ingresso l'ora la data e l'ip nei rispettivi campi ma senza risultato piantondosi sull'update..

    Codice PHP:
    <form name="form" method="post" action="index.php">
        <table>
            <tr>
                <?
                    $log 
    FALSE;
                    if (
    $_POST['entback'] <> "") :
                        
    $usr $_POST['usr'];
                        
    $psw $_POST['psw'];
                        
                        
    $query "SELECT * FROM users WHERE user = \"$usr\" and pasw = \"$psw\"";
                        
    $result mysql_query($query);
                        
    $chk mysql_num_rows($result);
                        
    $row mysql_fetch_object($result);

                        
    mysql_close();
                    endif;
                
    ?>
                <td <? if ($_POST['entback'] <> "" and $chk == 0) print"bgcolor=\"#CC0000\"";?>
                <?
                    
    if ($_POST['entback'] <> "") :
                    if (
    $chk == 0) :
                
    ?>
                    [b]PASSWORD ERRATA[/b]
                    

                <?
                    
    else : 
                
                        
    $_SESSION['log'] = "ok";
                        
    $_SESSION['idu'] = $row->idus;
                        
    $_SESSION['last_login_time'] = $row->lstlogt;
                        
    $_SESSION['last_login_date'] = $row->lstlogd;
                        
    $_SESSION['last_ip'] = $row->lstlogip;
                    
                        
    $return $_SESSION['returnurl'];
                        if(!
    $return) {
                        
    $return "back.php";
                        }
                        
    date_default_timezone_set("Europe/Rome");
                        
    $current_time date("d-m-Y",time());                                                                                                                                                                                      
                        
    $current_date date("l, F jS, Y");
                        
    $ip $_SERVER['REMOTE_ADDR'];
                        
    $aggiorna_log "UPDATE users SET lstlogt = \"$current_time\", lstlogd = \"$current_date\", lstlogip = \"$ip\" WHERE user = \"$usr\" AND pasw = \"$psw\"";
                        @
    MYSQL_QUERY($aggiorna_log) or die("Non è possibile aggiornare!"); 
                        
    header("Location: $return");
                        exit();

                    
    sleep(2);
                
    ?>

                <?
                    
    endif;
                       endif;
                
    ?>
                  </td>
            </tr>
            <tr>
                  <td> 
                    <table>
                          <tr>
                            <td>Username</td>
                            <td> 
                                  <input name="usr" type="text" />
                            </td>
                          </tr>
                          <tr> 
                            <td>Password</td>
                            <td> 
                                  <input name="psw" type="password" /> 
                            </td>
                          </tr>
                    </table>
                    
     
                    <input name="entback" type="submit" value="Submit" />
                </td>
            </tr>
        </table>
    </form>
    Come posso fare?

    E' questa la soluzione giusta per ottenere quello che voglio?

    Dimenticavo..
    una volta entrato vorrei visualizzare i vari dati in questo modo:
    Codice PHP:
    <div id="dashboard">
        

    Hi [b]<? print $row->user?>[/b],
        

        <? print strftime('%c'); ?>
        

        <?
            $last_login_date 
    $_SESSION['last_login_date'];
                if(
    $last_login_date date("l, F jS, Y")) {
                
    $last_login_date "Today";
                }
                
    $last_login_time $_SESSION['last_login_time'];
                if(
    $_SESSION['last_ip'] != $_SERVER['REMOTE_ADDR']) {
                
    $last_login_ip "this IP address (".$_SERVER['REMOTE_ADDR'].")";
                }
                else {
                
    $last_login_ip "IP address ".$_SESSION['last_ip'];
                }                                                                                                                
                echo 
    "Last account login: ".$last_login_date." at " $last_login_time " from " $last_login_ip ".";
        
    ?>
        

        [url="../../index.php"]Homepage[/url]|[url="logout.php"]Logout[/url]</p>
    </div>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Forse c'è un metodo migliore per registrare i dati dell'ultimo accesso?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    up

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.