Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Visualizzare Finestra Sempre Attiva con un Click

    Salve a tutti,
    avrei la necessita di creare uno script con la seguente funzione:
    Mettiamo il caso che che io abbia un link, cliccando su questo link mi appaia nella pagina una piccola finestrella (oppure una tabella, non so bene come definirla) che mostri al suo interno un processo per esempio un countdown e alla fine di questo countdown lo script mi esegua una o più query... la particolarità però è che deve restare attivo questo processo anche se il browser viene chiuso...

    Premetto che per questa cosa non ho idee su come partire... qualcuno potrebbe cortesemente aiutarmi?

    Ringrazio anticipatamente,
    Saluti,
    Andrea.

  2. #2
    Nessuno sa aiutarmi? o darmi qualche spunto per partire?

  3. #3
    Per tenere un processo attivo anche a chiusura del browser, mi sembra ci sia un parametro nel php.ini apposito che, a memoria, dovrebbe essere "ignore_user_abort" o qualcosa del genere.
    Non è detto però che serva allo scopo tuo, non l'ho mai dovuto usare quindi non so se effettivamente faccia quello che chiedi.


  4. #4
    mmm grazie della risposta... potrebbe essere quello che stavo cercando... solo che non ho capito bene come funzioni.. nel senso... ho creato questo script di prova..:

    <?php
    ignore_user_abort(TRUE);
    $connect = mysql_connect("localhost", "root","");
    mysql_select_db("browsergame", $connect);

    $date = time();

    mysql_query("INSERT INTO prova SET asd='$date'", $connect);

    $select = mysql_query("SELECT asd FROM prova", $connect);


    while($array = mysql_fetch_array($select)){
    $print = $array['asd'];
    print($print ."
    ");
    }

    header("Refresh: 1; url=" . $_SERVER["PHP_SELF"]);

    ?>

    e se apro la pagina ogni secondo mi stampa quello che mi deve stampare... solo che una volta che chiudo il browser smette di inserirli... [so che questa cosa si può risolvere con il cronjob, ma per intenderci meglio io volevo una cosa tipo quella di travian (quando aumento il livello di una risorsa parte il countdown e alla fine mi aggiorna il database anche se chiudo la pagina, qualcuno sa qualcosa a riguardo?)]

    Grazie.
    Andrea.

  5. #5
    Quelli di Travian mi sa che usano un altro sistema, nel senso che il countdown è "finto"; nel db viene scritto qualcosa del tipo "inizio_count_down=ore 12.23.42 03/09/2011, durata = 300 secondi" e quando ti riconnetti, riprende il conteggio dalla differenza, mentre per effettuare l'azione prevista al termine del count down usano un "trucchetto", ovvero a ogni caricamento pagina (da parte di qualunque utente) viene eseguito un controllo del tipo "verifica se è scaduto qualche count_down. Se qualcuno è scaduto, esegui l'azione relativa", tipo "incrementa del 10% la forza vitale", oppure "costruisci il capanno" eccetera.

    Spero di esserti stato d'aiuto, nel caso cerco un esempietto tra i vari software che ho fatto o che uso.


  6. #6
    bhe si adesso ho sicuramente le idee un po più chiare di prima... quindi non fanno uso di nessun cronjob? perchè anche io mi sto cimentando in uno script molto simile (chiaramente ridotto perchè il calcolo della battaglia non lo so fare) ma per questo tipo di cose io usavo un cronjob loro invece usano il trucco che io ho usato per calcolare gli utenti online XD ossia una query che viene caricata e che elimina gli utenti con il tempo scaduto che si attiva per ogni utente... mmm... interessante...
    quindi vediamo se ci ho capito qualcosa...

    la tabella dove viene visualizzato il countdown si attiva SOLO se quell'utente ha attivato un processo come per esempio l'aumento di livello (se ne ha più di uno vengono visualizzate più tabelle giusto?)... ora il countdown penso sia in javascript e parte da un tempo memorizzato di default nel database, può essere una strada percorribile? (è quella che sto usando io per il momento :P) alla fine terminato il countdown, la pagina si aggiorna e viene eseguita questa query e si dovrebbe ottenere il risultato voluto..
    questo mio ragionamento può avere un senso oppure sto farneticando? :P

    Saluti.
    Andrea.

  7. #7

    Sei sulla strada giusta, almeno dal punto di vista concettuale.

    Potrebbero anche usare dei cron, è uguale dato che da cron puoi fare tutto quello che puoi fare a mano, più o meno, ma l'uso di un cron o di un pseudo-cron dipende da cosa si deve fare e dalle conseguenze di non poter eseguire uno script perchè nessun utente si connette...


  8. #8
    ok perfetto grazie mille per l'aiuto sei stato davvero gentile

    Saluti,
    Andrea.

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