Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Creare codice per menù

    Salve,
    ho letto diversi post riguardanti il mio stesso problema,ma provando gli script non riesco a risolvere il problema.
    Allora io sto creando un sito nel quale in index ci sia fisso header e footer ma nel body il contenuto varia a seconda della voce selezionata da utente nel menù,avendo ovviamente di default la pagina home.html .
    Non so se sono stato chiaro nella spiegazione ed è per questo che riporto il codice che ho provato:
    <body>
    <?
    switch ($_GET['id'])
    {
    case 1:
    //il codice per generare il contenuto di "chi siamo"
    $contenuto = $copia.html ;
    //... il codice generato qui sopra
    break;

    case 2:
    //il codice per generare il contenuto di "dove siamo"
    $contenuto = $copia.html ;
    //... il codice generato qui sopra
    break;

    case 3:
    //il codice per generare il contenuto di "portfolio"
    $contenuto = $home2.html ;
    //... il codice generato qui sopra
    break;

    default:
    //il codice per generare il contenuto della home page o di una pagina d'errore, a te la scelta
    $contenuto = $home.html;
    //... il codice generato qui sopra
    break;
    }
    ?>
    <?
    echo '<a href="www.miosito.it/pagine/?id=1">Chi Siamo</a> ';
    echo '<a href="www.miosito.it/pagine/?id=2">Dove Siamo</a> ';
    echo '<a href="www.miosito.it/pagine/?id=3">Contatti</a> ';
    ?>

    <div class='qualcosa'>
    <?php echo "$contenuto" ?>
    </div>

    </body>
    I mei dubbi riguardano a come passare i link e come passare il contenuto a $contenuto , se deve essere in formato .php o anche in html . Ovviamente nelle pagine che devono essere caricate c'è solo la parte di codice senza header o footer o altri parti solo quello che deve essere caricato senza dover dal menu dover caricare ogni volta una nuova pagina. Lo so che è un discorso ingarbugliato ma dipende anche dalle mie poche conoscenze in php. In allegato posto anche la foto del risultato che ottengo sul web.
    Vi ringrazio già da ora per l'aiutoAllegato 22857Immagine1.jpg

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    potresti gestire il tutto studiando qualche semplice esempio di MVC (molto snello) se non erro recentemente un utente ha postato il tuo stesso problema potresti provare a cercare nel forum
    Mantenendo la tua rotta:
    i file .html puoi benissimo salvarli come .php senza <?php ?> ma solo con il codice html
    ...
    $contenuto = "copia.php"
    <div class='qualcosa'>
    <?php include "$contenuto" ?>
    </div>
    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    ma perchè ci ostiniamo ancora a non usare i frameworks o parti di essi?? http://fabien.potencier.org/article/...ponents-part-1 http://www.phpframeworks.com/ mvc, database, sessions, helpers, già tutto pronto e realizzato, ogni volta sempre a reinventare la ruota... e non ditemi "ah ma è un progettino, è un sitarello", il tempo è denaro e perdere tempo è perdere soldi.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Santino per quanto mi riguarda, non ho esperienza su i frameworks, ho usato questo codice perchè girando sul forum e leggendo i post di persone che avevano il mio stesso "problema" , ho semplicemente utilizzato la loro esperienza avendo poca esperienza anche in php altrimenti avrei usato il tuo consiglio .
    Tornando al problema esposto, ho trovato diversi errori nella compilazione,sia nel passaggio dei link che nello switch integrando anche con i consigli di homerbit ed ecco come è cambiato tutto:
    <html>
    <head>
    <title>Prova</title>
    </head>
    <body>
    <?
    echo '<a href="?id=1">Chi Siamo</a>';
    echo '<a href="?id=2">Dove Siamo</a>';
    echo '<a href="?id=3">Contatti</a>';
    ?>
    <?
    if(isset($_GET['id']))
    {
    switch ($_GET['id'])
    {
    case '1':
    $contenuto = "home2.php" ;
    break;

    case '2':
    $contenuto = "copia.php" ;
    break;

    case '3':
    $contenuto = "home21.php" ;
    break;

    default:
    $contenuto = "home.php";
    break;
    }
    }
    else{
    include ("home.php");
    }
    ?>
    <div class='qualcosa'>
    <?php include ("$contenuto") ?>
    </div>
    </body>
    </html>
    Funziona tutto, mi carica la pagina di default, mi fa il passaggio alle altre pagine caricando solo il contenuto, solo in index.php
    alla fine mi trovo queste scritte:
    Warning: include() [function.include]: Filename cannot be empty in D:\Inetpub\webs\codeconsultingit\pagine\index.php on line 47

    Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;c:\php\includes') in D:\Inetpub\webs\codeconsultingit\pagine\index.php on line 47

    E la linea 47 è questa : <?php include ("$contenuto") ?>
    Come posso fare??

  5. #5
    Studiando il linguaggio meglio ho capito che l'errore stava nella linea include nel modo con il quale l'ho inclusa, ho risolto,se a qualcuno interessasse, mettendo il comando include nello switch eliminando così la variabile $contenuto.
    Ora non ho più errori, mi carica la home correttamente e i link vengono caricati come volevo io senza caricare la pagina intera ma solo il contenuto e quindi header e footer restano costanti.
    Grazie a chi mi ha risposto per i suggerimenti
    E’ solamente dicendo ‘no’ che puoi concentrarti sulle cose veramente importanti”.
    [S.J.]

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.