Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    Consigli e pareri per migliorare uno script [PHP/SQLite]

    Ragazzi, vi chiedo un aiuto.
    Datemi qualche consiglio per migliorare questo script.
    Secondo voi è meglio gestire la data come faccio io nello script o creare una funzione personalizzata per esempio now().


    codice:
    <?php
    
    // impostazione variabili
    $db_name="utenti_connessi.sqlite";
    $tab="utenti_connessi";
    
    // dati fondamentali
    $ip=getenv("REMOTE_ADDR");
    $time=time();
    
    // connessione al database
    $db=sqlite_open($db_name);
    
    // query di verifica
    $query=sqlite_query($db,"select ip, quando from $tab where ip='$ip'");
    
    // verifica
    if(sqlite_valid($query)) {
    	sqlite_query($db,"update $tab set quando=$time where ip='$ip'");
    }
    else {
    	sqlite_query($db,"insert into $tab (ip,quando) values ('$ip',$time)");
    };
    
    // impostazione tempo
    $tempo=60;
    $minuti=5; // setta i minuti
    
    $tempo*=$minuti;
    
    $time=$time-$tempo;
    // eliminazione di utenti che non hanno fatto più refresh
    sqlite_query($db,"delete from $tab where quando<$time");
    
    // verifica utenti rimasti
    $query=sqlite_query($db,"select count(*) as tutti from $tab");
    $cont=sqlite_fetch_array($query,SQLITE_ASSOC);
    $cont=$cont["tutti"];
    
    print($cont);
    
    // disconnessione dal database
    sqlite_close($db);
    unset($db);
    
    ?>

  2. #2
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    ulteriore miglioramento...

    Va be, ragazzi ho fatto un ulteriore miglioramento.

    codice:
    <?php
    
    // funzione personalizzate
    function now() {
    	return time();
    }
    
    // impostazione variabili
    $db_name="utenti_connessi.sqlite";
    $tab="utenti_connessi";
    
    // dati fondamentali
    $ip=getenv("REMOTE_ADDR");
    
    // connessione al database
    $db=sqlite_open($db_name);
    
    // aggiunta funzione
    sqlite_create_function($db,"now","now",0);
    
    // query di verifica
    $query=sqlite_query($db,"select ip, quando from $tab where ip='$ip'");
    
    // verifica
    if(sqlite_valid($query)) {
    	sqlite_query($db,"update $tab set quando=now() where ip='$ip'");
    }
    else {
    	sqlite_query($db,"insert into $tab (ip,quando) values ('$ip',now())");
    };
    
    // impostazione tempo
    $tempo=60;
    $minuti=1; // setta i minuti
    
    $tempo*=$minuti;
    
    // eliminazione di utenti che non hanno fatto più refresh
    sqlite_query($db,"delete from $tab where quando<now()-$tempo");
    
    // verifica utenti rimasti
    $query=sqlite_query($db,"select count(*) as tutti from $tab");
    $cont=sqlite_fetch_array($query,SQLITE_ASSOC);
    $cont=$cont["tutti"];
    
    print("Ci sono $cont utenti in linea.");
    
    // disconnessione dal database
    sqlite_close($db);
    unset($db);
    
    ?>
    Qualche altro miglioramento????

  3. #3
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    ...

    ma sono solo in questa discussione? :master:

  4. #4
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    ...

    no.................non voglio essere solo nelle mie discussioni

  5. #5

    Re: ...

    Originariamente inviato da C232
    no.................non voglio essere solo nelle mie discussioni
    Ti offro la spalla per piangere meglio.....

    Uno script non e' una cosa estetica, anche se la leggibilita' ha un grande peso sulla qualita' dello script. Lo script e' finalizzato a raggiungere un obiettivo... se lo raggiunge bene ... lo potrai anche ottimizzare. Ma prima di tutto bisogna raggiungere l'obiettivo prefisso. Ma qual'e questo obiettivo????

    Nel tuo caso potresti indentare il tuo script per migliorarne la leggibilita'. Infine, non sono molti che utilizzano SQLite.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.