• User

    @ziobudda said:


    La riga numero 62 di offerte è quella del blocco else, li è posizionato il comando exit;
    se tolgo il comando exit, mi dà l'errore alla riga superiore ovvero la 61 dove c'è header(..)


  • User Attivo

    Ciao,
    come ti ha segnalato ziobubba, l'errore è autoesplicativo:
    prima della funzione header() viene generato dell'output e questo genera il warning nonchè il non reindirizzamento della pagina.

    Dove generi l'output?
    Praticamente ovunque...
    [php]
    <?php include("include/conn.php"); ?>
    <?php include("include/verifyoff.php"); ?>
    <?php include("include/header.php"); ?>
    <?php include("include/menu.php"); ?>
    [/php]
    Già solo in queste prime 4 righe generi:

    • 4 caratteri di "a capo" dopo ogni tag di chiusura del codice php
    • da quel che ci hai postato, tutto quel che è contenuto in menu.php è output
    • presumo che header.php contenga le intestazioni html con metatag, titoli, etc... anche quello sarebbe output.

    Come risolvere?
    Modifica il codice della pagina facendo in modo che il controllo (if) sia all'inizio, prima di qualsiasi codice html o echo php o altro output.

    Alessandro


  • User

    @Magicale said:


    Mhhh. Non riesco a capire una cosa, come faccio a mettere il codice partendo dall'if quello della pagina offerte.php, così me lo porto in tutte le pagine... e verebbe visualizzato all'esterno di tutto il template... scusami ma forse non ho capito bene il ragionamento. Grazie per la pazienza.


  • User Attivo

    Il fatto che sia all'inizio non significa inserirlo nei file che includi, appunto, all'inizio e che quindi venga riportato in tutte le pagine.

    Possibile soluzione:
    [php]
    <?php
    include("include/conn.php");

    $pagina = (@$_GET["pag"] != "") ? @$_GET["pag"] : 1;
    $path = "offerte";
    if(file_exists("$path/$pagina.jpg"))
    {
    

    ?>

     Qui tutto il resto del codice
    

    <?php
    include("include/closeconn.php");
    }
    else
    {
    header("Location: offerte.php?pag=1");
    exit;
    }

    ?>
    [/php]

    Alessandro


  • User

    @Magicale said:


    Mhh questo per quanto riguarda la connessione al DB che in questa pagina non è che mi serve perchè non la uso quindi la posso anche eliminare... per quanto riguarda header e footer?? devo fare lo stesso


  • User Attivo

    header e footer se ti servono li puoi inserire tranquillamente.
    Dove ho scritto "Qui tutto il resto del codice" devi mettere tutto il codice html, php, etc... che ti serve.


  • User

    In pratica levo tutti gli include e faccio un unica pagina di php, così risolvo il problema? GLi include ovviamente li riscrivo ma direttamente nella pagina senza utilizzare la funzione include. Grazie per la pazienza


  • User Attivo

    @Mik_mo said:

    In pratica levo tutti gli include e faccio un unica pagina di php, così risolvo il problema? GLi include ovviamente li riscrivo ma direttamente nella pagina senza utilizzare la funzione include. Grazie per la pazienza

    Io non ho assolutamente detto questo!

    Forse così è più chiaro:

    [PHP]
    <?php

    $pagina = (@$_GET["pag"] != "") ? @$_GET["pag"] : 1;
    $path = "offerte";
    if(file_exists("$path/$pagina.jpg"))
    {
    

    ?>

    <?php include("include/conn.php"); ?>
    <?php include("include/verifyoff.php"); ?>
    <?php include("include/header.php"); ?>
    <?php include("include/menu.php"); ?>
    <td width="746" align="center" valign="top" background="images/sf_center.gif"><table width="746" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td><img src="images/sottomenu.jpg" alt="sm" width="746" height="54" /></td>
    </tr>
    <tr>
    <td align="center" class="tabstile">Qui puoi trovare le nostre fantastiche offerte da non perdere, <br />molti viaggi ed escursioni ti aspettano contattataci!!!</td>
    </tr>
    <tr>
    <td align="center"> </td>
    </tr>
    <tr>
    <td align="center" class="tabstile">
    <?php
    $pagina = (@$_GET["pag"] != "") ? @$_GET["pag"] : 1;
    $path = "offerte";

    #TABELLA CON FRECCE SOTTO
    echo "<table width='650' border='0' cellspacing='0' cellpadding='0'>";
      echo "<tr>";
       echo "<td>&nbsp;</td>";
      echo "</tr>";
      echo "<tr>";
        echo "<td align='center'><img src=\"$path/$pagina.jpg\" alt=\"image\" /></td>";
      echo "</tr>";
      echo "<tr>";
       echo "<td><table width='650' border='0' cellspacing='0' cellpadding='0'><tr>";
          echo "<td width='80'><a href=\"offerte.php?pag=" . ($pagina - 1) . "\"><img src='images/indietro.jpg' border='0' alt='indietro' width='80' height='66'/>                          </a></td>";
          echo "<td>&nbsp;</td>";
          echo "<td width='80'><a href=\"offerte.php?pag=" . ($pagina + 1) . "\"><img src='images/avanti.jpg' border='0' alt='avanti' width='80' height='66'/></a></td>";
         echo "</tr>";
         echo "<tr>";
          echo "<td>&nbsp;</td>";
          echo "<td>&nbsp;</td>";
          echo "<td>&nbsp;</td>";
         echo "</tr>";
       echo "</table></td>";
      echo "</tr>";
    echo "</table>";     
       ?>            
            </td>
          </tr>
          <tr>
            <td align="center">&nbsp;</td>
          </tr>
    

    </table></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <?php include("include/footer.php"); ?>
    <?php include("include/closeconn.php"); ?>

    <?php
    }
    else
    {
    header("Location: offerte.php?pag=1");
    exit;
    }
    ?>
    [/PHP]


  • Super User

    Tralasciando che mischiare PHP e HTML non è mai saggio, posso suggerire di usare la forma
    <?php if (XXXX) : ?>
    ....
    <?php else : ?>
    ....
    <?php endif; ?>

    Rende il codice di piu' semplice lettura. Ma come dicevo: mai mischiare HTML e php.

    M.


  • User

    @Magicale said:

    [...]

    Ciao, scusami per il ritardo. Funziona a gonfie vele... grazie mille per la dritta. Però non riesco a capire il senso di non poter mischiare codice html con PHP a tal proposito come integrarlo con una parte formata dalla grafica???