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

    Difetto della condizione di tempo

    Ciao a tutti.
    E' da un bel pò che ho sviluppato per necessità questa condizione basata sul tempo, ma mi ha sempre fatto difetto e nn sono mai riuscito a correggerla definitivamente!

    Io ho 2 pag; la prima si trova la condizione di tempo che darà o no l'accesso alla funzione che sta nella seconda pagina.

    1)La funzione oltre al suo codice ha questo che serve per la condizione:
    Codice PHP:
    $query "UPDATE pgu SET [b]Attacco = Time()[/b] WHERE Nick='$row[Nick]'"$result mysql_query($query$db); 
    2)Una volta terminata la funzione, per potervi accedere bisogna passare la condizione che è stata aggiornata da questa query sopra.

    Codice PHP:
    $query "SELECT Nick,Stato,Simbolo,UNIX_TIMESTAMP(Attacco) AS Attacco,Ultima_Arma,Salute FROM pgu WHERE Nick='$user_id'"$result mysql_query($query$db);
    $wer mysql_fetch_array($result);

    if((
    time() - $wer[Attacco]) > 45)  { include('attacca1.php'); } else { echo "<font color=green>[b]Non puoi ancora attaccare! Mancano"; echo ($arm[Gap] - (time() - $wer[Attacco])); echo "secondi [url='scrivi.php']Indietro[/url]</font>[/b]"; } 
    Come potete facilmente capire la condizione dice: se "l'orario attuale - l'orario dell'ultimo aggiornamento" sono maggiori di 45(quindi sono trascorsi 45 sec dall'aggiornamento) allora includi la seconda pagina altrimenti blocca la funzione!

    Perchè mi fa difetto?
    Spesso non me la blocca, altre volte i secondi che mancano si moltiplicano sempre.
    O provato anche NOW() al posto di Time() ma è uguale!
    Chi mi aiuta?
    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. #2
    up
    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

  3. #3
    noto che in insert usi la TIME() di mysql e in select confronti con quella di PHP ..

    intanto
    1) perchè il confronto non lo fai fare al DB direttamente?
    2) se per qualche motivo i due servizi non fossero sincroni il tuo modo di approcciare il prob porterebbe a sottili bug
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  4. #4
    il punto uno non mi è perfettamente chiaro!

    Per il resto se si tratta di bug, dovrei trovare un modo alternativo di fare questa cosa. Ma come?
    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

  5. #5
    codice:
    $query = "UPDATE pgu SET Attacco = Time() WHERE Nick='$row[Nick]'"; 
    $result = mysql_query($query, $db);
    Ma questa query funziona? Non mi risulta una funzione time() senza argomenti.... (mysql > 4.1 )

    Ti estrae l'ora min sec da un campo od una variabile che contenga dataora...


    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.