+ Rispondi alla Discussione
Risultati da 1 a 6 di 6

Attesa lato server caricamento pagina php

Ultimo Messaggio di Magicale il:
  1. #1
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126

    Attesa lato server caricamento pagina php

    Ciao ragazzi,
    ho un urgente bisogno di uno script o una condizione php che dopo
    tot di tempo carichi lo script php.
    Se lo faccio lato client possono imbrogliare se lo faccio lato server saranno costretti ad aspettare.
    VI faccio un esempio:
    Se i visitatori visitano la pagina w w w .site.com/ciao.php
    si aggiungono dei punti, ma questi punti devono essere assegnati
    ogni 30 secondi, e loro fanno il refresh con tutto il redirect a tempo (lato client) cosi barando, non c'è un modo per farli attendere lato server?? o un modo + sicuro??
    rispondetemi! grazie in anticipo!!

  2. #2
    Ricercatore L'avatar di Magicale
    Data Registrazione
    Feb 2009
    Messaggi
    333
    Ciao,
    se utilizzi un database per i punti, memorizza insieme al punteggio anche l'ora in cui viene aggiornato incrementando i punti solo se dall'ora dell'ultimo aggiornamento sono passati 30 secondi.
    A mio avviso questa è la soluzione più sicura per evitare imbrogli.

    Alessandro

  3. #3
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126

    nn si può fare cosi?

    Non si può fare una cosa simile?

    Codice:
    <?php
    /**
     * login.php
     *
     * @version 1.0
     * @copyright 2008 by ?????? for XNova
     */
    define('INSIDE'  , true);
    define('INSTALL' , false);
    $InLogin = true;
    $ugamela_root_path = './';
    include($ugamela_root_path . 'extension.inc');
    include($ugamela_root_path . 'common.' . $phpEx);
     includeLang('login');
     if ($_POST) {
      $login = doquery("SELECT * FROM {{table}} WHERE `username` = '" . mysql_escape_string($_POST['username']) . "' LIMIT 1", "users", true);
      if ($login) {
       if ($login['password'] == md5($_POST['password'])) {
        if (isset($_POST["rememberme"])) {
         $expiretime = time() + 31536000;
         $rememberme = 1;
        } else {
         $expiretime = 0;
         $rememberme = 0;
        }
        @include('config.php');
        $cookie = $login["id"] . "/%/" . $login["username"] . "/%/" . md5($login["password"] . "--" . $dbsettings["secretword"]) . "/%/" . $rememberme;
        setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime, "/", "", 0);
        unset($dbsettings);
        header("Location: ./frames.php");
        exit;
       } else {
        message($lang['Login_FailPassword'], $lang['Login_Error']);
       }
      } else {
       message($lang['Login_FailUser'], $lang['Login_Error']);
      }
     } else {
      $parse = $lang;
      $query = doquery('SELECT username FROM {{table}} ORDER BY register_time DESC', 'users', true);
      $parse['last_user'] = $query['username'];
      $query = doquery("SELECT COUNT(DISTINCT(id)) FROM {{table}} WHERE onlinetime>" . (time()-900), 'users', true);
      $parse['online_users'] = $query[0] + 9;
      $parse['users_amount'] = $game_config['users_amount'];
      $parse['servername'] = $game_config['game_name'];
      $parse['forum_url'] = $game_config['forum_url'];
      $parse['PasswordLost'] = $lang['PasswordLost'];
      $page = parsetemplate(gettemplate('login_body'), $parse);
      display($page, $lang['Login']);
     }
    // -----------------------------------------------------------------------------------------------------------
    // History version
    ?>
    questo è il login di un OGame chiamato XNova io ho trovato la condizione:

    WHERE onlinetime>" . (time()-900), 'users', true);

    infatti dopo tot di tempo username risulta disconnesso
    noto che frutta i cookie e la funzione time non si può fare lo stesso senza fare casini nel db, visto che si parla circa di 40 controlli da inserire nel db??

  4. #4
    Ricercatore L'avatar di Magicale
    Data Registrazione
    Feb 2009
    Messaggi
    333
    Non è che ci siano grosse differenze visto che anche nello script da te proposto (e che comunque fa tutt'altra cosa) viene memorizzata sul db l'ora della connessione.
    Infatti la query da te riportata controlla il campo `onlinetime` della tabella `user` per verificare quanti utenti sono connessi e non il cookie.

    Alessandro

  5. #5
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Come posso estrarre la variabile del utente connesso dai cookie?

  6. #6
    Ricercatore L'avatar di Magicale
    Data Registrazione
    Feb 2009
    Messaggi
    333
    I dati presenti nel cookie li ritrovi dentro l'array:
    Codice PHP:
    $_COOKIE 

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.