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

    Problema con la funzione include()

    Salve a tutti io sto programmando un CMS per l'azienda dove lavoro, ma sto riscontrando un problema assolutamente illogico.
    Io ho deciso di seguire una programmazione ad oggetti utilizzando gli include, ne ho già utilizzati due uno per la connessione al Database e uno per le funzioni fondamentali, non ho rilevato problemi su questi due.

    Quando inserisco un nuovo include con dentro questo codice:
    Codice PHP:
    <?php
    ?>
    <div class="headertop">
    <div class="wrappheader">
     <div class="logo">
    <img src="<?php echo "http://".$_SERVER['HTTP_HOST']."/"?>image/logo.png" alt="logo hotel sangiorgio" width="347" height="120" /></div>
    <div class="infotop">
    <div class="lingue">
    <nav class="clearfix">
    <ul class="clearfix">
    <?php
    if(($rig!=0)&&($rig!=""))
    {
     for(
    $i=0;$i<=$rig-1;$i++)
     {
    mysql_data_seek($lingue$i);
    $lingua mysql_fetch_assoc($lingue);
    $id $lingua['id'];
    $immagine $lingua['immagine'];
    $tag $lingua['tag'];
    if((
    $id==1)||($tag=="it")) $tag "";
    else 
    $tag "/$tag";
     echo 
    '<li><a href="http://'.$_SERVER['HTTP_HOST'].$tag.'"><img src="http://'.$_SERVER['HTTP_HOST'].'/img/'.$immagine.'"></a></li>';
     }
    }
    ?>
    </ul>
    <a href="#" id="pull">
    <?php echo $tag_lingue?></a>
    </nav>
    </div>
    <script src="<?php echo "http://".$_SERVER['HTTP_HOST']."/"?>js/navli.js" type="text/javascript"></script>
    <div class="info-social">
    <div class="infocotact">
    <span><?php echo $titolo_telefono?></span>
    <?php echo $telefono?> - <span><?php echo $titolo_mail?>
    <a href="<?php echo $mail?>"><?php echo $mail?></a>
    </span>
    </div>
    <div class="infosocial">
    <a href="<?php echo $link_facebook?>"><img style="margin-right:5px;" src="<?php echo "http://".$_SERVER['HTTP_HOST']."/"?>img/fb.png" /></a>
    <a href="<?php echo $link_twitter?>"><img src="<?php echo "http://".$_SERVER['HTTP_HOST']."/"?>img/tw.png" /></a>
    </div>
    </div>
    </div>
    </div>
    </div>
    Caricando la pagina index riscontro un testo in più con ispeziona elemento, ovvero ""
    Se utilizzo visualizza sorgente pagina non ritrovo questo testo in più.
    Se prendo il codice nell'include e lo inserisco direttamente nella pagina non visualizzo alcun testo strano. Se inserisco l'include ma nel file non inserisco alcun codice l'errore viene visualizzato comunque, invece se carico un altro file non viene visualizzato nessun errore.
    Quindi quello che si può immaginare è un errore nel codice dell'include: include($_SERVER['DOCUMENT_ROOT']."/inc/header_top.inc.php");
    Il problema è che ho fatto ogni prova possibile, ovvero cambiare in require_once, include_once, cambiare il nome del file che carico, crearne uno nuovo di file ed inserire un codice diverso, cambiare la posizione degli include, ma alla fine c'è sempre questo testo in più.

    Ho provato a cercare su google il problema ed effettivamente un altro ha riscontrato questo, ma senza soluzione.
    Ho chiesto un aiuto a due programmatori miei colleghi ma pure avendo circa 8 anni di esperienza nel campo, non sono riusciti a capire il perché di questo.
    I browser su cui ho testato in sito sono: Google Chrome, Firefox, Internet Explorer.
    AnDwHt

  2. #2
    Nuovo aggiornamento
    Ho cambiato il metodo, invece di utilizzare l'include ho obtato per leggere il file php con solo codice html e visualizzato nella pagina con questi codici:

    $var=fopen("inc/menu.inc.php","r");
    $leggi=fread($var,filesize("inc/menu.inc.php"));
    fclose($var);
    echo $leggi;

    Nel file menu.inc.php c'è questo codice:

    <div class="flat-mega-menu" id="flatmen"> <!-- flat-mega-menu class -->


    <label for="mobile-button"> <i class="fa fa-bars"></i> </label> <!-- mobile click button to show menu -->
    <input id="mobile-button" type="checkbox">


    <ul class="collapse"> <!-- collapse class for collapse the drop down -->
    <li class="title"> <a href="#">Hotel Sangiorgio</a> </li> <!-- website title class -->

    <li> <a href="#">Home</a> </li>
    <li> <a href="#">Hotel</a>
    <ul class="drop-down full-width hover-fade"> <!-- full width drop down with 4 columns + images -->

    <ul> <!-- column one -->
    <h2>Camere</h2>
    <li> <a href="#"> <img src="img/m_cam.jpg" alt="camere hotel san giorio"> </a> <p>Le nostre Camere</p> </li>
    </ul>

    <ul> <!-- column two -->
    <h2>Ristorante</h2>
    <li> <a href="#"> <img src="img/m_ris.jpg" alt="ristorante hotel san giorgio"> </a> <p>Il nostro ristorante</p> </li>
    </ul>

    <ul> <!-- column three -->
    <h2>Piscina</h2>
    <li> <a href="#"> <img src="img/m_pis.jpg" alt="piscina hotel san giorgio"> </a> <p>Relax</p> </li>
    </ul>

    <ul> <!-- column four -->
    <h2>Area Benessere</h2>
    <li> <a href="#"> <img src="img/m_ben.jpg" alt="area benessere hotel sangiorgio"> </a> <p>Relax e benessere</p> </li>
    </ul>

    </ul>


    </li>
    <li> <a href="#">Gallery</a></li>
    <li> <a href="#">Listino Prezzi</a></li>
    <li> <a href="#">Cosa visitare</a>
    <div class="drop-down full-width hover-fade"> <!-- full width drop down with 4 columns -->

    <ul> <!-- column four -->
    <h2>Milano Marittima</h2>
    <li> <a href="#"> <img src="img/image.png" alt="image 1"> </a> <p>Cosa visitare</p> </li>
    </ul>

    <ul> <!-- column four -->
    <h2>Parchi divertimento</h2>
    <li> <a href="#"> <img src="img/image.png" alt="image 1"> </a> <p>Relax e divertimento</p> </li>
    </ul>
    <ul> <!-- column four -->
    <h2>Pineta</h2>
    <li> <a href="#"> <img src="img/image.png" alt="image 1"> </a> <p>Pineta Milano Marittima</p> </li>
    </ul>
    </div>


    </li>
    <li> <a href="#">Offerte</a></li>
    <li> <a href="#">Contatti</a></li>


    </ul>


    </div>

    Nonostante tutto il problema persiste
    AnDwHt

  3. #3
    ma non mi sembra un problema di html5 anche se le liste mi sembrano annidate male
    fatti spostare

  4. #4
    Quote Originariamente inviata da ac_socmel Visualizza il messaggio
    ma non mi sembra un problema di html5 anche se le liste mi sembrano annidate male
    fatti spostare
    Il sito è fatto in HTML 5 e l'unica spiegazione che abbiamo pensato è proprio un problema di html5
    AnDwHt

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    1. Quote Originariamente inviata da AndreWhite
      Io ho deciso di seguire una programmazione ad oggetti utilizzando gli include
      Nella tua programmazione "ad oggetti" non c'è neanche un oggetto
    2. Poi, tutti questi:
      Codice PHP:
      <?php echo "http://".$_SERVER['HTTP_HOST']."/"?>image/logo.png
      e roba simile
      Puoi sostituirli con
      codice:
      /image/logo.png
      e roba simile
    3. Puoi sostiture
      Codice PHP:
      $var=fopen("inc/menu.inc.php","r");
      $leggi=fread($var,filesize("inc/menu.inc.php"));
      fclose($var); 
      con
      Codice PHP:
      $leggi file_get_contents("inc/menu.inc.php"); 
    4. Nel file menu.inc.php:
      codice HTML:
      <ul class="drop-down full-width hover-fade"> <!-- full width drop down with 4 columns + images -->
      <ul>     <!-- column one --><h2>Camere</h2><li> <a href="#"> <img src="img/m_cam.jpg" alt="camere hotel san giorio"> </a> <p>Le nostre Camere</p> </li></ul>
      <ul>     <!-- column two --><h2>Ristorante</h2><li> <a href="#"> <img src="img/m_ris.jpg" alt="ristorante hotel san giorgio"> </a> <p>Il nostro ristorante</p> </li></ul>
      <ul>     <!-- column three --><h2>Piscina</h2><li> <a href="#"> <img src="img/m_pis.jpg" alt="piscina hotel san giorgio"> </a> <p>Relax</p> </li></ul>
      <ul>     <!-- column four --><h2>Area Benessere</h2><li> <a href="#"> <img src="img/m_ben.jpg" alt="area benessere hotel sangiorgio"> </a> <p>Relax e benessere</p> </li></ul>
      </ul>
      Un <ul> (ul.drop-down.full-width.hover-fade) può avere come figli diretti solo dei <li>, non degli altri <ul>
    5. Caricando la pagina index riscontro un testo in più con ispeziona elemento, ovvero ""
      Lo vedi solo con ispeziona elemento o è anche renderizzato?
    6. Se utilizzo visualizza sorgente pagina non ritrovo questo testo in più.
      Sei sicuro che non sia aggiunto da JS? Se nel sorgente non lo vedi ma con ispeziona elemento sì, è perché è stato aggiunto dopo il caricamento della pagina. Prova a commentare momentaneamente tutti i tag <script> e guarda se il problema rimane
    Ultima modifica di tampertools; 12-12-2014 a 19:16
    No

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    Codice PHP:
     $var=fopen("inc/menu.inc.php","r");
    $leggi=fread($var,filesize("inc/menu.inc.php"));
    fclose($var); 
    con
    Codice PHP:
    $leggi file_get_contents("inc/menu.inc.php"); 
    L'unica cosa giusta gliela fai cambiare? fopen è sempre consigliabile per questione di ottimizzazione, anche se dubito che ci sia qualcosa di ottimizzato la dentro...
    Logiqo.org gestionale per perizie infortunistiche.

  7. #7
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    L'unica cosa giusta gliela fai cambiare? fopen è sempre consigliabile per questione di ottimizzazione, anche se dubito che ci sia qualcosa di ottimizzato la dentro...
    Il sito è un CMS che gira tutto su una index.php, gestione lato backoffice anche delle lingue. Usa un htaccess per rimandare tutto alla index e volevo utilizzare gli include per non avere una pagina troppo grande.
    AnDwHt

  8. #8
    Nuovo aggiornamento, ho cancellato tutto il codice della index inserendo solo e soltanto:
    Codice PHP:
    <?php
    include($_SERVER['DOCUMENT_ROOT']."/inc/header_top.inc.php");
    ?>
    Nel file c'è lo stesso codice che ho postato nella discussione.
    Il risultato è sempre lo stesso, mi crea uno spazio con le virgolette in ispeziona elemento, copiandolo ed incollandolo su notepad++ visualizza un carattere simile ad un punto ma posizionato come apice e non riconosciuto. Mostrando tutti i caratteri invece lo visualizza come carattere a capo
    AnDwHt

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    hai provato a togliere semplicemente <?php
    ?>

    oltretutto notepad++ permette di salvare i file utf8 senza codifica BOM, infine prova a salvarlo come .inc e includendolo vedi che succede
    Logiqo.org gestionale per perizie infortunistiche.

  10. #10
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    hai provato a togliere semplicemente <?php
    ?>

    oltretutto notepad++ permette di salvare i file utf8 senza codifica BOM, infine prova a salvarlo come .inc e includendolo vedi che succede
    Funziona, finalmente ho trovato la soluzione, il problema era la codifica utf8 con BOM e non sapevo che esistesse in notepad++, GRAZIE MILLE
    AnDwHt

Tag per questa discussione

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.