Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    cache limiter - headers (irrisolvibile)

    Cari amici di HTML.it, ho già letto i post trovati nel Forum sull'argomento in oggetto, ma non riesco in nessun modo a rosolvere. L'errore è "Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /web/htdocs/www.comuneditrabia.eu/home/inc/men_nav_sin.php:26) in /web/htdocs/www.comuneditrabia.eu/home/Scripts/atti/2007/determine_dirigenziali/11.php on line 2"

    Ecco il codice "incriminato" che richiamo attraverso un include:
    Codice PHP:
    <?php
    session_start
    ();
    $_SESSION['Data'] = '01/11/2007';
    $_SESSION['A'] = '31/11/2007';
    $_SESSION['Tipo']='2';
    ?>
    [img]../../immagini/template/det_dirigenziali.gif[/img]



    <div class="area_centrale">
    <span>Novembre 2007  </span>


    <table cellpadding="0" cellspacing="2">
    <tr>
    <td style="color:#FF9900; font-weight:bold; width:50px; text-align:center">N.°</td>
    <td style="color:#FF9900; font-weight:bold; width:100px; text-align:center">DEL</td>
    <td style="color:#FF9900; font-weight:bold; width:350px; text-align:center">OGGETTO</td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    <?php 
    include ('Scripts/atti/conf.php');
    // imposto quanti risultati x pagina
    $rowsPerPage 20;
    // impostiamo di default di mostrare x prima la prima pagina
    $pageNum 1;
    // se $_GET['page'] è definito, lo si usa come page namber
    if(isset($_GET['page']))
    {
        
    $pageNum $_GET['page'];
    }
    // conto l' offset
    $offset = ($pageNum 1) * $rowsPerPage
    $sqlbase = ('select * from atti left join tipi_atti on idtipo_atto=idtipoatto ');
    $condizione = (' where idatto > 0 ');
    $dal eur_to_time($_SESSION['Data']);
    $al eur_to_time($_SESSION['A']);
    $condizione .= (" and newdata BETWEEN \"$dal\" and \"$al\" ");
    $condizione .= ('and idtipo_atto = '$_SESSION['Tipo'].' ');
    $condizione .= (' order by numero ');
    $query = ("$sqlbase $condizione LIMIT $offset$rowsPerPage ");
    $lettura_risultati=mysql_query("$query");
      while(
    $scatola_temporanea=mysql_fetch_array($lettura_risultati)){
         
    $data=$scatola_temporanea['newdata'];
         
    $numero=$scatola_temporanea['numero'];
         
    $oggetto=$scatola_temporanea['oggetto'];
         
    $iltipo=$scatola_temporanea['tipo'];
         
    $dataeur date("d-m-Y"strtotime ($data));
         echo 
    "<tr><td style='font-weight:bold; text-align:center'>$numero</td>";
         echo 
    "<td style='font-weight:bold; text-align:center'>$dataeur</td>";
         echo 
    "<td style='font-weight:bold; color:#0070c0; text-align:justify'>$oggetto</td></tr>";
         echo 
    "<tr><td></td><td></td><td></td></tr>";
         } 
    //fine ciclo while che scorre la query e piazza i risultati nell'array temporaneo
         
    echo "</table>
    "

    // quanti valori abbiamo nel DB
    $countquery   "SELECT COUNT(idatto) AS numrows FROM atti $condizione";
    $result  mysql_query($countquery) or die('Error, query failed');
    $row     mysql_fetch_array($resultMYSQL_ASSOC);
    $numrows $row['numrows'];
    // quante pagine sono?
    $maxPage ceil($numrows/$rowsPerPage);
    echo 
    "<table align=center border=1><tr><td align=center>";
    // crea link per accedere ad ogni pagina
    $self $_SERVER['PHP_SELF'];
    // Creo i links Previous e Next
    // e quelli First page e Last page
    if ($pageNum 1)
    {
    $page  $pageNum 1;
       
    $prev  " <a href=\"$self?azione=dd_1107&page=$page\">[Precedente]</a> 
    "
    ;
       
    $first " <a href=\"$self?azione=dd_1107&page=1\">[Prima Pagina]</a> ";
    }
    else
    {
       
    $prev  ''// se siamo nella 1° pag non mostriamo Prev
       
    $first ''// e neanche il link alla 1° pag
    }
    if (
    $pageNum $maxPage)
    {
    $page $pageNum 1;
       
    $next " <a href=\"$self?azione=dd_1107&page=$page\">[Prossima]</a> ";
       
    $last " <a href=\"$self?azione=dd_1107&page=$maxPage\">[Ultima Pagina]</a> ";
    }
    else
    {
       
    $next ''// siamo nell' ultima pag, nn mostriamo Next
       
    $last ''// siamo nell' ultima pag, nn mostriamo il link Last 
    }
    if (
    $numrows >=1){
    // mostra i links di navigazione
    // mostra i links di navigazione
    echo $first $prev .
    " Stai guardando la pagina $pageNum di $maxPage pagine 
    $next $last;
    //echo "

    <a href=\"add_$pagina\">Inserire un'altra $documento</a>";
    //echo "

    <a href=\"add_scegli.php\">Vai al menu di Inserimento Atti</a>";
    }
    else
    {echo 
    "<p align=center>[b]La ricerca non ha prodotto nessun risultato, Modificare il criterio![/b]
    "
    ;
    echo 
    "<a href=\"http://".$_SERVER['SERVER_NAME'].$dir_script."cerca_atti.php\">Torna indietro</a></p>";  }
    //echo "<p align=\"center\"><a href=\"http://".$_SERVER['SERVER_NAME'].$dir_script."cerca_atti.php\">Torna alla pagina di ricerca</a></p>";
    ?>
    </table>
    </div>
    Certo, come sempre, della vostra solidarietà, vi ringrazio in anticipo.

  2. #2

  3. #3
    Ho capito che il problema sta nel fatto che richiamo questo pagina con un include, ma non ho capito se l'unica soluzione è creare una pagina a parte( come ho appena fatto è funziona).

    Siccome a me servirebbe fare una cosa del genere, guarda
    anzichè risolvere in quest'altro modo meno pratico per l'utente.

    Grazie

  4. #4
    Hai letto l'articolo suggerito?
    Hai individuato quale codice invia dati al buffer d'uscita?
    Hai provato ad abilitare l'output buffering?

  5. #5
    ob_start rallenta di molto lo script specie se lungo consiglio sempre l'utilizzo di una struttura pianificata dall'inizio.

  6. #6
    ob_start rallenta di molto lo script
    Potresti portare qualche dato a sostegno della tua affermazione?

  7. #7
    Ma certo Filippo,

    come sai nella norma ob_start può velocizzare i dati inviati al browser, ma a meno che non prepari solo siti per cartolerie saprai anche che ob_start impiega del tempo a lavorare e dato ceh esegue l'output in una botta finchè non fnisce l'esecuzione il browser non visualizza niente e su siti grossi e progettati male sembra che il sito non funzioni.

    Tra l'atro visto che lavora con il buffering impiega la memoria del server sul quale risiede e se hai 200 siti che lavorano con questa procedura sono mazzate.

    E' molto meglio sviluppare delle classi e funzioni o meglio un framework per una progettazione strutturale dei siti, non ho detto che ob_start è un rottame da non usare ma andrebbe usato solo da professionisti che sanno usarne le potenzialità senza far saltare in aria un server.


  8. #8
    Potresti portare qualche dato a sostegno della tua affermazione?
    Hai scritto "ob_start rallenta di molto lo script", di quanto?

  9. #9
    battutaccia: "cache limiter - headers (irrisolvibile)" perché sprecare tempo per cercare di risolvere un problema "irrisolvibile"?
    ;-)

  10. #10
    Originariamente inviato da davidec84
    Ho capito che il problema sta nel fatto che richiamo questo pagina con un include
    Nel tuo caso specifico puoi risolvere eliminando il session_start() dallo script che includi e posizionandolo (se non è già presente) all'inizio dello script che si occupa di includerlo. In questo modo le sessioni saranno comunque attive e non dovrebbe sollevarsi alcun warning.

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.