Visualizzazione risultati 1 fino 11 di 11

Discussione: il comando "Include" non funziona

  1. #1
    pierpolignano non è connesso Neofita
    Data registrazione
    16-02-2016
    Messaggi
    9

    Predefinito il comando "Include" non funziona

    Salve a tutti, premetto che prima di postare ho letto molti 3d sull'argomento (pare essere un problema abbastanza comune), ma non sono riuscito a risolvere il mio problema, che eppure all'apparenza è semplicissimo.
    E' il mio primo post, quindi vi informo che il mio livello è questo: con l'HTML e i CSS me la cavo, mentre di PHP non conosco nulla, NULLA.
    Uso soltanto questa funzione in quanto sto creando un sito in doppia versione, desktop e mobile, perchè non mi è possibile adattare la versione desktop a quella mobile. Ho quindi la necessità di tenere separati i testi dalle pagine html, perchè questi testi li riaggiornerò spesso e non voglio doverli aggiornare ogni volta sia sulla pagina desktop che su quella mobile: così ho creato una cartella /testi in cui tenere appunto i testi in dei file PHP, così mi basterà modificare il file PHP e la modifica avverrà automaticamente su entrambe le versioni del sito.
    Ma il sito mobile non l'ho neanche cominciato, perchè appunto il comando PHP non funziona.
    Ho creato la pagina www.miosito.altervista.org/curriculum.html con all'interno un testo di presentazione:

    Codice HTML:
    <table>
    <tr>
    <td>Questo è il testo di presentazione <b>che cambierò con frequenza</b></td>
    </tr>
    </table>
    A quel punto ho copincollato il testo in un file PHP chiamato presentazione.php, che ho salvato in /testi. E quindi ho usato la funzione include all'interno di curriculum.html in modo da richiamare il testo. Così il codice di curriculum.html è diventato

    Codice HTML:
    <table>
    <tr>
    <td><?php include("testi/presentazione.php"); ?></td>
    </tr>
    </table>
    E qui arriva il problema: il testo, pur venendo richiamato dalla funzione PHP, non viene visualizzato! La pagina rimane vuota. Ho anche provato a spostare presentazione.php nella cartella principale, modificando il codice in

    Codice PHP:
    <?php include("presentazione.php"); ?>
    ma continuo a non visualizzarlo. Eppure è un semplice testo!
    La cosa strana, è che lo stesso identico espediente lo usai su di un sito di prova, SEMPRE SU ALTERVISTA, in cui in ogni pagina avevo un semplicissimo menu sulla sinistra, e quindi per non doverlo aggiornare ogni volta in ogni pagina, schiaffai l'intero codice html del menu dentro un file php e inserii semplicemente la funzione include in ogni pagina, in corrispondenza del posto in cui volevo che comparisse il menu. E così bastava modificare il file PHP per cambiare simultaneamente le voci dei menu in tutte le pagine. E funzionava perfettamente.
    Mi chiedo come sia possibile che ora la stessa funzione non... funzioni più. Sicuramente avrò sbagliato una sciocchezza talmente piccola da non riuscire a vederla.
    Scusate per la lunghezza del post ma ho voluto darvi più informazioni possibili :)
    Grazie mille a chi mi risponderà! :)
    Ultima modifica di pierpolignano : 07-04-2016 alle ore 20.07.20

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Super Moderatore
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    7,541

    Predefinito

    Potresti indicare dove sono i file? Perché non potendo vedere il tuo spazio, io visualizzo soltanto:
    pierpolignano.altervista.org/curriculum.html

    Hai detto di aver creato una cartella "testi" con dentro un file "presentazione.php", ma non riesco a vederlo, o meglio non esiste il file:
    pierpolignano.altervista.org/testi/presentazione.php


    ------
    Visto che conosci CSS e HTML e ti serve adattare il sito per mobile, conosci le media-queries?

    Ciao!
    SE MI SCRIVI IN PRIVATO PER QUESTIONI TECNICHE NON RISPONDO: C'È IL FORUM!

  3. #3
    pierpolignano non è connesso Neofita
    Data registrazione
    16-02-2016
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Potresti indicare dove sono i file? Perché non potendo vedere il tuo spazio, io visualizzo soltanto:
    pierpolignano.altervista.org/curriculum.html
    ...
    file "presentazione.php", ma non riesco a vederlo, o meglio non esiste il file
    Ciao! Grazie della risposta.
    Hai ragione scusa, il file "presentazione.php" era finito chissà come in un'altra cartella, adesso lo puoi trovare in /testi.

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Visto che conosci CSS e HTML e ti serve adattare il sito per mobile, conosci le media-queries?
    Ciao!
    Non ho la più pallida idea di cosa siano.
    Le mie conoscenze base in fatto di HTML e CSS sono di alcuni anni fa (ere geologiche in informatica), nel codice mi ci so orientare anche se vedo cose nuove... ma facendo tutt'altro nella vita, per me è impossibile restare aggiornato, e quindi fino a quando non avrò i soldi per pagarmi un webmaster, ndo cojo cojo
    Non vorrei andare troppo OT, ma visto che hai sollevato la questione: tu sei sicuro che esista un modo per adattare QUESTO sito a mobile? Per dire, una home come quella desktop con immagini in scorrimento, su mobile non mi serve a nulla, perchè le immagini sono orizzontali mentre smartphone e tablet di solito sono usati con schermo verticale, e il risultato sarebbe pessimo... allora mi è sembrato che l'unica soluzione fosse progettare un semplice sito mobile ex novo, di qui l'idea di isolare i testi in file a parte. Alla fin fine, il sito non prevede molte pagine, probabilmente non supereranno mai la decina.


    EDIT:
    Usando "Analizza elemento" di FF, ho notato che in corrispondenza del punto in cui ho inserito l'include che richiama presentazione.php, compare invece questo codice:
    Codice HTML:
    <!--?php include("testi/presentazione.php"); ?-->
    Ecco perchè il testo non viene visualizzato. Anche correggendo a mano in locale, la modifica viene immediatamente persa.
    Ultima modifica di pierpolignano : 08-04-2016 alle ore 00.50.10

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Super Moderatore
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    7,541

    Predefinito

    Ora è scritto correttamente: io vedo:
    Codice HTML:
    <?php include("testi/presentazione.php"); ?>
    Il comando non funziona perché lo stai utilizzando in una pagina con estensione .html. Per utilizzare php devi modificare l'estensione della pagina in php. Quindi da:
    Codice:
    curriculum.html
    a
    Codice:
    curriculum.php
    Non ho analizzato a fondo come vorresti modificare la parte mobile da quella classica. Però con le media queries puoi specificare delle regole css a seconda della dimensione dello schermo del visitatore. Se googli un attimo vedrai che il loro utilizzo è tutto sommato semplice.

    Ciao!
    Ultima modifica di alemoppo : 08-04-2016 alle ore 11.25.55
    SE MI SCRIVI IN PRIVATO PER QUESTIONI TECNICHE NON RISPONDO: C'È IL FORUM!

  5. #5
    pierpolignano non è connesso Neofita
    Data registrazione
    16-02-2016
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Il comando non funziona perché lo stai utilizzando in una pagina con estensione .html. Per utilizzare php devi modificare l'estensione della pagina in php. Quindi da:
    Codice:
    curriculum.html
    a
    Codice:
    curriculum.php
    Ho modificato l'estensione e ora finalmente funziona! Grazie mille!
    Mi resta solo un dubbio: googlando avevo letto che era possibile richiamare PHP in una pagina HTML tramite il comando include, e infatti sul vecchio sito di prova utilizzavo il comando include proprio in una pagina con estensione HTML, e non PHP. E funzionava. Come mai?

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non ho analizzato a fondo come vorresti modificare la parte mobile da quella classica. Però con le media queries puoi specificare delle regole css a seconda della dimensione dello schermo del visitatore. Se googli un attimo vedrai che il loro utilizzo è tutto sommato semplice.
    Ciao!
    L'idea è di creare il sito mobile ex novo, con regole CSS proprie che dispongano gli elementi (come il menu) in maniera tale da poter essere usufruibili su mobile: gli unici file che avrebbero in comune la versione mobile e la desktop, sarebbero appunto i testi (e il menu) raccolti in file php a parte da poter modificare facilmente con frequenza.
    Se provi ad accedere tramite cellulare o tablet ti reindirizza a pierpolignano.altervista.org/mobile, cioè la cartella in cui intendo sviluppare il sito mobile (al momento visualizzi solo una pagina bianca).
    Comunque mi sembra di capire che usando le media-queries, nel caso di un ipotetico restyling del sito avrei il vantaggio di non dover effettuare il restyling a mano su entrambi, giusto?

  6. #6
    pierpolignano non è connesso Neofita
    Data registrazione
    16-02-2016
    Messaggi
    9

    Predefinito

    AGGIORNAMENTO:

    Ora che sono riuscito ad includere tutti i file php in /testi all'interno delle pagine del sito desktop, ho provato ad includere i file php anche sulla pagina del sito mobile. All'indirizzo http://pierpolignano.altervista.org/...curriculum.php il codice che ho inserito è il seguente:
    Codice PHP:
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <meta name="HandheldFriendly" content="true" />
      <meta name="MobileOptimized" content="176" />
      <title></title>
    </head>
    <body>
    <?php include("testi/presentazione.php"); ?>
    <?php 
    include("testi/altri_contatti.php"); ?>
    </body>
    </html>
    Ma i comandi include non vengono letti, neanche accedendo da smartphone e neanche inserendo i percorsi assoluti dei due file... quindi stesso problema di inizio post.
    Ultima modifica di pierpolignano : 08-04-2016 alle ore 15.51.27

  7. #7
    L'avatar di alemoppo
    alemoppo è connesso ora Super Moderatore
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    7,541

    Predefinito

    Semplicemente perché i file:
    Codice:
    http://pierpolignano.altervista.org/mobile/testi/presentazione.php
    Codice:
    http://pierpolignano.altervista.org/mobile/testi/altri_contatti.php
    Non esistono.

    Immagino tu avresti voluto fare:
    Codice PHP:
    <?php include("../testi/presentazione.php"); ?>
    <?php 
    include("../testi/altri_contatti.php"); ?>
    Perché i due punti? Vedi ad esempio qui (seconda lista puntata).

    In pagine html puoi includere altre pagine con un iframe. Oppure tramite .htaccess puoi specificare che la pagina contiene codice PHP e quindi di interpretarlo come tale.

    Ciao!
    Ultima modifica di alemoppo : 08-04-2016 alle ore 16.06.52
    SE MI SCRIVI IN PRIVATO PER QUESTIONI TECNICHE NON RISPONDO: C'È IL FORUM!

  8. #8
    pierpolignano non è connesso Neofita
    Data registrazione
    16-02-2016
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Semplicemente perché i file:
    Codice:
    http://pierpolignano.altervista.org/mobile/testi/presentazione.php
    Codice:
    http://pierpolignano.altervista.org/mobile/testi/altri_contatti.php
    Non esistono.
    A scanso di equivoci avevo provato anche i percorsi assoluti

    Codice PHP:
    <?php include("http://pierpolignano.altervista.org/testi/presentazione.php"); ?>
    <?php 
    include("http://pierpolignano.altervista.org/testi/altri_contatti.php"); ?>
    Ma nulla. Ora è risolto aggiungendo i puntini.


    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Oppure tramite .htaccess puoi specificare che la pagina contiene codice PHP e quindi di interpretarlo come tale.

    Ciao!
    Ah ecco, allora non me l'ero sognato... dopo un anno però non ricordavo più questa regola dell'htaccess.
    Adesso l'ho impostata perchè per comodità preferisco avere file HTML per indicare solo le pagine, e file PHP per indicare solo i testi, altrimenti mi confondo. Ho anche ripristinato l'estensione HTML di tutte le pagine contenenti la funzione include, che adesso con la regola nell'htaccess viene le letta e la visualizzazione è perfetta, anche su mobile (ancora senza CSS).
    Direi che possiamo metterci un bel "RISOLTO" nel titolo.

    Grazie ancora per l'aiuto,
    Ciao!

    Pier
    Ultima modifica di pierpolignano : 08-04-2016 alle ore 16.54.53

  9. #9
    L'avatar di alemoppo
    alemoppo è connesso ora Super Moderatore
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    7,541

    Predefinito

    Beh per le pagine "dei testi" non è necessario che siano PHP: possono essere anche .html oppure .txt o .db o addirittura senza estensione: quei file non contengono di fatto codice PHP ma solo testo, quindi non devono essere interpretati dall'interprete PHP.

    Ciao!
    SE MI SCRIVI IN PRIVATO PER QUESTIONI TECNICHE NON RISPONDO: C'È IL FORUM!

  10. #10
    squashi non è connesso Utente giovane
    Data registrazione
    10-02-2012
    Messaggi
    34

    Question

    Salve,

    ho un problema simile, in pratica ho questo include <?php require_once("example1.php"); ?> ma non funziona sul mobile mentre su windows si, come posso risolvere.

    Grazie

    Squashi

  11. #11
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    829

    Predefinito

    Dovresti aprire una discussione separata, anziché riesumarne una vecchia di un anno.

    Ad ogni modo, PHP (ed i realtivi include) lavora lato server, se osservi comportamenti diversi tra mobile e Windows è praticamente certo che il problema non siano gli include.
    Prova a spiegare meglio cosa ti aspetteresti, e cosa invece osservi, magari aggiungendo un collegamento alla pagina in questione.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •