Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203

    Layout e Include - come strutturarli?

    Ciao a tutti!
    Spero di aver scelto la sessione giusta...

    Ho difficoltà a impaginare il mio sito. Fin'ora ho sempre fatto siti con iframe in modo che la grafica e i menù si sviluppassero tutti intorno alla pagina "testuale" che, di volta in volta, veniva aggiornata all'interno dell'iframe.

    Dal momento che ho studiato un po' di php, volevo iniziare a provare qualcosa di diverso e avevo pensato di sostituire il tutto con gli include.
    Ma mi sono fermata proprio al punto di partenza!!!
    Sono troppo abituata a pensare a una pagina con iframe per capire come impostare una con include.

    Avevo provato a fare un pagina con la grafica e una con il testo, ma quella con il testo finiva ovviamente o prima o dopo la grafica, mai dentro.
    Così ho provato a fare una pagina con la grafica e a mettere l'include per il testo in una cella, ma i link nel menù non puntavano mai a quella cella, ma si aprivano a tutto schermo.
    Insomma, ho fatto diverse prove, ma proprio non so come impostarla...

    Mi potreste aiutare?

  2. #2
    Ciao, praticamente l'include ti include la pagina dentro un'altra.

    ti faccio un'esempio stupido:
    crea una pagina index.php
    Codice PHP:
    <html>
        <head><title>Il tuo sito</title></head>

        <body>
              <div id="header">Il tuo header</div>
              <div id="menu">Il tuo menu</div>
              <div id="content">
    <?php
            
    if(!isset($_GET["page"])){
                 
    $page "home";
            }
            else{
                 
    $page $_GET["page"];
            }

             include(
    "$page.php");
    ?>
              </div>
        </body>
    </html>
    A questo punto i link del menu che puntano alle varie pagine li setti come ad esempio Home

    così tu vai a definire in get (passando il valore del parametro page attraverso l'url) la pagina da includere nella tua index.php che ti fa da template generale.

  3. #3
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203
    Tutto chiarissimo! Faccio un tentativo, grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249
    gli include sono parti di pagina, ti faccio un esempio.

    immagina la tua pagina con div container che contiene div header, al centro che ne so impaginata su due colonne.. div right con un menu ed un div left con i testi, ed in basso div footer.se hai un sito di 20 pagine e l'header, il footer ed il menu sono sempre uguali inutile copiare tutto il codice in tutte le pagine, quindi il sito può essere così:

    div header.. include
    div right.. include dove ci metti il menu
    div left te lo scrivi nella pagina perchè in ogni pagina è differente
    div footer.. include

    nella pagina gli include li inserisci così

    <?php include("incl/inc_header.php");
    ?>

    tutti gli include, che sono sempre file php che contengono il cidice php ed html delle relative parti, li metti in una cartella "incl"... così se vuoi modificare l'header o il menu o il footer, rifai il file include php e non vai a rivedere tutte le pagine

  5. #5
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203
    Originariamente inviato da roberto763
    gli include sono parti di pagina, ti faccio un esempio.

    immagina la tua pagina con div container che contiene div header, al centro che ne so impaginata su due colonne.. div right con un menu ed un div left con i testi, ed in basso div footer.se hai un sito di 20 pagine e l'header, il footer ed il menu sono sempre uguali inutile copiare tutto il codice in tutte le pagine, quindi il sito può essere così:

    div header.. include
    div right.. include dove ci metti il menu
    div left te lo scrivi nella pagina perchè in ogni pagina è differente
    div footer.. include

    nella pagina gli include li inserisci così

    <?php include("incl/inc_header.php");
    ?>

    tutti gli include, che sono sempre file php che contengono il cidice php ed html delle relative parti, li metti in una cartella "incl"... così se vuoi modificare l'header o il menu o il footer, rifai il file include php e non vai a rivedere tutte le pagine
    Era proprio questo il mio dubbio!
    Devo farne per forza più di due? Devo ragionare per forza come se volessi suddividere la pagina in
    -testa
    -sinistra
    -centro
    -destra
    -sotto


    O posso fargli capire che c'è un contenitore con una tabella nella cui cella centrale si devono aprire le pagine?
    Perché altrimenti non trovo l'utilità del div rispetto all'iframe...

  6. #6
    Assolutamente no....quello che ha segnalato roberto763 è un altro modo di procedere rispetto a quello ke ti ho detto io...fanno semplicemente la stessa identica cosa ma in modo diverso.

    Personalmente io faccio sempre in quel modo perchè così definisco solo nella index.php le parti comuni senza dover richiamare in tutte le pagine i vari header menu e footer...l'unico neo è ke nel mio modo gli url si allungano parecchio, nel senso ke se cominci ad avere molti parametri get diventano una cosa del tipo:

    http://www.tuosito.it/index.php?page...campo2=val2...

    mentre con il metodo di roberto763 diventano:

    http://www.tuosito.it/pagina.php?cam...campo2=val2...

    dipende da come ti trovi meglio tu...esistono una marea di modi che fanno tutti la stessa cosa...

  7. #7
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203
    Ok, capito! Preferisco che si allunghi i link (che cmq non si vedrebbero perché ho disabilitato la barra) piuttosto che richiamare troppe pagine.

    Detto ciò, ho provato il tuo metodo, ma i link non mi puntano cmq al div centrale!

    Ho messo questo nella tabella centrale
    codice:
    <?php 
            if(!isset($_GET["centro"])){ 
                 $centro = "home"; 
            } 
            else{ 
                 $centro = $_GET["centro"]; 
            } 
    
             include("centro.php"); 
    ?>
    E la pagina si apre perfettamente con l'include centrale... ma poi?
    Quando clicco sui link si aprono cmq a tutto schermo!

  8. #8
    i link devono essere del tipo Home dove "home" ti rappresenta la pagina home.php....
    Codice PHP:

    <body>
        <div id="header">Welcome</div>

        <div id="menu">
            <ul>[*][url="index.php?page=home"]Home[/url][*][url="index.php?page=contatti"]Contatti[/url][*][url="index.php?page=link"]Link[/url][/list]
        </div>

       <div id="content">
    <?php 
            
    if(!isset($_GET["centro"])){ 
                 
    $centro "home"
            } 
            else{ 
                 
    $centro $_GET["centro"]; 
            } 

             include(
    "$centro.php"); 
    ?>
       </div>

       <div id="footer">Powered by TuoNome</div>
    </body>

  9. #9
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203
    Originariamente inviato da albx87
    Codice PHP:
             include("$centro.php"); 
    Ho messo il $ come mi hai scritto tu e ho messo i link in questo modo
    codice:
    <a href="index.php?centro=blog">
    (prima sbagliavo, non mettevo index.php ma blog.php ecc...)

    Ma cmq l'indirizzo che mi si apre è
    http://localhost/mio/index.php?centro=blog
    E la pagina scrive:
    Oggetto non trovato!
    L'URL richiesto non esiste su questo server. Il link della pagina da cui sei arrivato potrebbe essere errato o non essere più valido. Per favore, informa dell'errore l'autore della pagina.


  10. #10
    la pagina blog.php esiste??? e se esiste sta nella stessa cartella della index.php oppure in una pagina divesa???

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.