Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    65

    Refresh pagina php (o non-refresh delle query?)

    Buonasera signori,

    sto sviluppando un gestionale in azienda in php per la gestione delle pratiche di lavoro.
    Ricontro problemi nella fase di refresh, per capire meglio il codice che riporterò, devo spiegare un paio di cose :
    ogni operatore ha un login ed esiste un campo yank, dove viene inseriro il codice dell'operatore.
    Il sistema è a piu livelli (come vedrete) e le opzioni per livello sono differenti. Il livello 3 puo' assegnare le pratiche ad altri operatori ma, dopo averle assegnate, rimangono nel suo "inbox" (gest.php). Facendo f5 il problema si risolve.

    Ecco il codice :

    codice:
    <?php session_start(); ?> 
    <head> 
    <meta http-equiv="Pragma" content="no-cache"> 
    </head> 
    <? 
    include "connessione.php"; 
    include "controllo_sessione.php"; 
    // prendo i dati dalla tua sessione 
    // capisco chi se e faccio una ricerca sulle tue pratiche 
    
    $prova = $_SESSION['user']; 
    $closed = 0; 
    if ((empty($_GET['order'])) && (empty($_POST['Nome']))) 
    { 
    $sql_user2 = mysql_query("SELECT * FROM pratiche WHERE yank ='$prova' ORDER BY lotto ASC")or die(mysql_error()); 
    } 
    elseif (empty($_POST['Nome'])) 
    { 
    $order = $_GET['order']; $sql_user2 = mysql_query("SELECT * FROM pratiche WHERE yank ='$prova' ORDER BY '$order' DESC")or die(mysql_error()); 
    } 
    elseif (empty($_GET['order'])) 
    { 
    $due= $_POST['Nome']; 
    $sql_user2 = mysql_query("SELECT * FROM pratiche WHERE yank ='$prova' AND lotto = '$due' ORDER BY ID DESC")or die(mysql_error()); 
    }  
    if ($_SESSION['level'] == 2 || $_SESSION['level'] == 3) 
    { ?>  
    <center><form name="0" action="gest.php" method="post"> Cerca fra le tue pratiche per lotto
     
    <input type="text" name="Nome">
     
    <input type="submit" value="Vai" ></form> </center>    
    <? }  ?>  
    <link rel=stylesheet href="default.css" type="text/css">  
    <table id="table20" width="95%" align="center" cellpadding="3">  
    <tbody> <tr> <th class="tabella">
    Pratica</th> 
    <th class="tabella">Cliente</th> 
    <th class="tabella">Debitore</th> 
    <?if ($_SESSION['level']== 2 || $_SESSION['level'] == 3) 
    {?> 
    <th class="tabella">Importo</th> 
    <th class="tabella"><a href="gest.php?order=interessi">Interessi</th> <?}?> 
    <th class="tabella">Lotto</th>  
    <?if ($_SESSION['level']== 3) {?> <th class="tabella">Assegna</th>   
    <form name="0" action="assegna_selezione.php" method="post">
    <?}	?></tr>
    <? while ($case = mysql_fetch_assoc($sql_user2)) 		
    { 
    		if ($case['yank'] == $_SESSION['user']) 
    { 	   ?>      
    <tr>      
    <th class="tabellina"><center><a onclick="caricadue('<?echo $case['ID'];?>')">
    <font color="black"><?echo $case['ID'];?></a></font></th>      
    <th class="tabellina"><center><?echo $case['codice_cliente'];?></th>      
    <th class="tabellina"><center><?echo $case['debitore'];?></th>      
    <?if ($_SESSION['level']== 2 || $_SESSION['level'] == 3) 
    {?>
          <th class="tabellina"><center><?echo $case['importo_pratica'];?></th>      
    <th class="tabellina"><center><?echo $case['interessi'];?></th> 
    <?}?>
          <th class="tabellina"><?echo $case['lotto'];?><center></th>      
    <?if ($_SESSION['level']== 3) 
    {?>      
    <th class="tabellina"><center><input type="checkbox" name="selez[<?echo $case['ID'];?>]" value="<?echo $case['ID'];?>" />      
    <?}	} else {}?></tr>     
    <?	}     ?>
    </center></table> 
    
         
    <?if ($_SESSION['level']== 3)
    {       
    $sql2 = mysql_query("SELECT * FROM users ORDER BY User ASC")or die(mysql_error());      ?>
    <center><select name="who">
    <? while ($opz = mysql_fetch_assoc($sql2))
    { ?>
    <option value="<?echo $opz['User'];?>"><?echo $opz['User'];?></option>
    <?}?>         
    <center><input type="submit" value="Assegna" ></form>  </center>          
    <?}?>     
    
     
    <script type="text/javascript">  // <![CDATA[  function caricadue(id_pag) { 	parent.info.location.href = "info.php?id=" + id_pag; 	parent.main.location.href = "scheda.php?id=" + id_pag; }  // ]]>  </script> 
    
    <? mysql_free_result($sql2); 
    mysql_free_result($sql_user2); 
    mysql_close(); ?>

    Perdonatemi la ripetizione delle query, ma ho dovuto mettere parecchio mano al codice e darò una pulita solo alla fine quando lo avrò concluso.

    Ho provato a mettere ogni sorta di meta-tag, aggiornamenti in js, ma non funziona. Questo script php viene eseguito in un frame.

    Sapreste come aiutarmi? Mi basterebbe anche il codice di un semplice tasto che faccia F5.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    65
    La metto giu piu facile, nell'head bisogna mettere per forzare il refresh della pagina :

    <meta http-equiv="Cache-Control" Content="no-cache">
    <meta http-equiv="Pragma" Content="no-cache">
    <meta http-equiv="Expires" Content="-1">

    A me non funziona, ovviamente lo metto fra <Head></Head>

    Se la cosa puo' essere utile, il sito è a frame.
    Ho inserito le iscruzioni sia nel frameset madre che in tutte le pagine dei vari frame, non c'è modo d'aggiornare la pagina.

    Ho provato a fare anche un redirect alla pagina che non si aggiorna, una cosa del tipo

    <a href="pagina.php?=<?echo rand(1,100000);?>

    Per vedere se modificando il get lo script veniva rieseguito, ma niente.
    Possibile ci sia qualche impostazione del php.ini che devo modificare?
    Sapreste consigliarmi qualcosa per forzare drasticamente il refresh, un pulsantino anche in C# che forza l'f5, non so piu che fare.

    grazie

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.