Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Ciclo if

  1. #1

    Ciclo if

    Ciao, sicuramente ho commesso qualche errorino stupido ma nel mio script ho messe un ciclo if che, non capisco perchè, ma risulta sempre falso!
    vi posto la parte ti codice:
    Codice PHP:

        
    if (isset($_POST['vote'])) {

                
    $data_ins        time();
                
    $query2 doQuery('SELECT * FROM account_web WHERE (act_id = '.$_SESSION['aid'].') 'DATABASE_WEBSITE); 
                
    $row mssql_fetch_array($query2);
                                                      if(
    $row['vote1'] < '$data_ins - 43200'
                                                                                     { 
                                                                                     
    $oSmarty->assign('message',     array( 'type'    => 'error',
                                
    'messages'    => array( 'You have to wait 12 hours!' ) ) );
                                                                                     } 
                                                                     else 
                                                                                   { 
                
    $query3 doQuery(' UPDATE '.TABLE_ACCOUNT_WEB.' SET vote1 ='.$data_ins.' WHERE act_id = '.$_SESSION['aid'],DATABASE_WEBSITE);
                if(!
    $query3
                            {
                                
    $oSmarty->assign('message',            array( 'type'        => 'error',
                                                
    'messages'    => array( 'Error, try again please!' ) ) );
                            }
                        else
                            {                
                                
    $oSmarty->assign('message',            array( 'type'        => 'ok',
                                                
    'messages'    => array( 'Thanks for your support!' ) ) );
                            
                            }
                     } 
    praticamente dal sito, schiaccianto sul bottone vote parte questo script che come prima cosa fa una query al database e registra la data dell'ultima volta che è stato schiacciato ($row['vote1'])
    poi, se non sono passate 12 ore dall'ultima volta che è stato usato dovrebbe passare il messaggio di errore invece, la parte if($row['vote1'] < '$data_ins - 43200')
    sembra risultare sempre verificata e viene aggiornato il database con il nuovo orario di voto ($query3).


    Dove sbaglio???
    Grazie, Matteo

  2. #2
    Per prima cosa il costrutto "if" non è un ciclo.

    Usando gli apici attorno "$data_ins - 43200" stai dicendo che questo è una stringa e quindi non sarà eseguita la sottrazione ma semplicemente viene considerata come stringa composta da questi caratteri che ci sono tra i apici.

  3. #3
    anche senza apici il risultato non cambia

  4. #4
    Se $row['vote1'] contiene data della ultima votazione e $data_ins la data corrente, allora in quel caso, se $row['vote1'] è minore di $data_ins meno 12 ore, vuol dire che sono passate più di dodici ore e il tuo codice in quel caso si comporta come se fosse errore. O inverti il contenuto del if ed else o cambia il segno da "<" a ">".

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.