Visualizzazione risultati 1 fino 15 di 15

Discussione: come caricare solo la pagina centrale?

  1. #1
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Red face come caricare solo la pagina centrale?

    Ciao a tutti, qualcuno saprebbe indicarmi come posso modificare un template in css in uno in php?
    vi spiego meglio, mi ero imbattuto in un semplice template in php, dove per mettere le pagine nuove bastava che le creassi in html ed esse venivano caricate nella zona centrale del sito, in questo modo non avrei avuto bisogno di creare ogni volta una pagina nuova di sana pianta, e sopratutto non ci sarebbe bisogno di andare a modificare tutti i menù di tutte le pagine.
    Accetto anche consigli se conoscete un altro modo per ovviare al mio problema.
    Ps:sono alle prime armi col PhP

  2. #2
    Guest

    Predefinito

    Probabilmente quel "template di php", come lo chiami tu, con una funzione chiamata glob() prendeva tutte le pagine html nel tuo sito, poi le faceva scorrere una ad una e le stampava per creare il menu :)

    Ad esempio puoi fare:
    - glob() + ciclo = trovi tutte le pagine
    - stampi il menu che si collega a : (index.php)?pagina=$nomefile
    - e una funzione che prende la variabile $_GET pagina e in base all'esistenza di quel file sul sito lo include ^^
    Ultima modifica di comunitavirtuali : 29-08-2008 alle ore 13.58.40

  3. #3
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    mmm, quindi se non ho capito male dovrebbe bastare che creo una pagina con al lato (per esempio) link1 link2 link3 ad ogniuno assegno questo codice:<a href="nome_pagina.php?nome=valore> e salvare il file, dopo di che a me basta creare la pagina "nome_pagina.php" e salvarla che poi verrà richiamata diciamo dall'index? (che sarebbe dove ho messo link1 link2 ecc..)

  4. #4
    Guest

    Predefinito

    Uhm... sì se hai capito cosa ho scritto :P

    Per cambiare pagine fai:
    Codice PHP:
    <?php
    include("./pagine/".$_GET['nome']); // naturalmente così è solo la versione 'base' del tuo include
    ?>
    Poi nella cartella pagine ci metti tutti i tuoi file.
    Per il menu fai:
    Codice PHP:
    <?php
    foreach (glob("pagine/*.html") as $filename) {
    echo
    "<a href=\"index.php?nome=valore\">$filename</a> <br />";
    }
    ?>
    Spero di non aver fatto errori perchè ho scritto in fretta e sono di passaggio :)

  5. #5
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    ho ritrovato il template di cui parlavo, posto il codice,
    non capisco perchè ha un solo file .php questo:
    Codice PHP:
    <html>
    <head><title>
    <?php
    print("La tua torta in un attimo ");
    if(IsSet(
    $torta)) print($torta);
    else
    $torta = "Benvenuto";
    ?>
    </title>
    </head>

    <body bgcolor="#FFFFFF">
    <h1>La tua torta in un attimo… <? print($torta);
    ?></h1>
    <table width="100%" border="1">
    <tr>
    <td width="19%" valign="top" bgcolor="#FFCC33">
    <? include("naviga.inc"); ?>

    </td>
    <td width="81%">
    <? include("$torta.inc"); ?>
    </td>
    </tr>
    </table>

    <p align="right"><i>State visitando questa pagina il
    giorno
    <?
    $adesso
    = date("d-m-Y");
    print(
    "$adesso");
    ?>
    </i></p>
    </body>
    </html>
    un menù.inc
    Codice:
    <h4 align="center">
    <p><a href="torta.php?torta=Nonna">Nonna</a></p>
    <p><a href="torta.php?torta=Mele">Mele</a></p>
    <p><a href="torta.php?torta=Chabela">Chabela</a></p>
    <p><a href="torta.php?torta=Sacher">Sacher</a></p>
            <p><a href="torta.php">Introduzione</a></p>
    </h4>
    e le altre pagine d'esempio
    Codice:
    <b>Ingredienti:</b><br>
          <ul>
            <li>250 gr farina<br>
            <li>100 gr di burro <br>
            <li>125 gr di zucchero<br>
            <li>3 uova<br>
            <li>1 bustina lievito<br>
            <li>latte q.b.<br>
            <li>2 mele
          </ul>
          <p><b>Istruzioni:</b><br>
          </p>
          <p>Sciogliere il burro e unirvi lo zucchero, le uova intere, la farina setacciata 
            con il lievito e mescolare tutto aggiungendo quella quantit&agrave; di 
            latte sufficiente per far ricadere pesantemente l'impasto dal mestolo.<br>
            Mettere in uno stampo a cerchio apribile. Sbucciare le mele e conficcarle 
            nell'impasto partendo dal centro e poi via via inserendoli a rosa fino 
            a coprire tutta la superficie ed incuneandole nell'impasto. Alla fine 
            spolverare con un filo di zucchero e qualche fiocchetto di burro e mettere 
            in forno preriscaldato a 200&deg; per circa un'ora. Ottima da colazione 
            e non solo. </p>
    la funzione include è effettivamente usata, quindi ho pensato di modificare il menù così:
    Codice:
     <h4 align="center">
    <p><a href="torta.php?torta=Nonna">Nonna</a></p>
    <p><a href="torta.php?torta=Mele">Mele</a></p>
    <p><a href="torta.php?torta=Chabela">Chabela</a></p>
    <p><a href="torta.php?torta=Sacher">Sacher</a></p>
    <p><a href="torta.php?torta=prova.htm">prova</a></p>        <p><a href="torta.php">Introduzione</a></p>
    </h4>
    dove prova.htm è un file che ho creato come esempio e lasciato nella stessa directory, solo che non funziona; forse carica solo file con estensione .inc?

  6. #6
    Guest

    Predefinito

    Allora ti ho frainteso ^_^
    Pensavo che da solo prendesse tutti i file di una cartella e creasse il sito da sè ;)

    Allora ti consiglio una ricerca sul forum con include e variabili get, di questo tipo di include si è parlato taante volta =)
    Ad esempio: http://forum.it.altervista.org/php-m...k-un-link.html

  7. #7
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    in riferimento al consiglio che mi hai dato e su base del template ho provato a costruire queste pag di esempio.
    un file .php che dovrebbe essere l'index
    Codice PHP:
    html>
    <head>
    <title>prova php</title>
    <body>
    <?php
    include ('menu.htm')
    ?>

    <table border="1">
    <tr><td>
    <? include ('$prova1.php') ?>
    </tr></td>
    </table>
    </body>
    </html>
    il menù in htm che viene caricato sulla index php
    Codice HTML:
    <html>
    <body>
    <a href="prova1.php?prova=pagina1">pagina 1</a></p>
    <a href="prova1.php?prova=pagina2">pagina 2</a>
    </body>
    </html>
    e le pagine1 e 2 che dovrebbero incollarsi dentro la tabella a seconda del link premuto
    Codice HTML:
    <html>
    <head>
    <title>pag1</title>
    </head>
    <body>
    questa è la pagina1!
    </body>
    </html>
    il problema è che non riesco a farglielo caricare, dove sbaglio? nel template sembrava così facile usare quel sistema!

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da EmoArt Visualizza messaggio
    Codice PHP:
    html>
    <head>
    <title>prova php</title>
    <body>
    <?php
    include ('menu.htm')
    ?>
    <table border="1">
    <tr><td>
    <? include ('$prova1.php') ?>
    </tr></td>
    </table>
    </body>
    </html>
    3 errori: non prendi la variabile $_GET, apri con <?php e non solo <? e mancano i ;
    Così dovrebbe andare
    Codice PHP:
    html>
    <head>
    <title>prova php</title>
    <body>
    <?php
    include ('menu.htm');
    ?>
    <table border="1">
    <tr><td>
    <?php
    $pagina
    = $_GET['pagina']; // qua dovresti fare anche dei controlli per la sicurezza sul tuo sito!!
    include ($pagina.".php"); ?>
    </tr></td>
    </table>
    </body>
    </html>
    Citazione Originalmente inviato da EmoArt
    Codice HTML:
    <html>
    <body>
    <a href="prova1.php?prova=pagina1">pagina 1</a></p>
    <a href="prova1.php?prova=pagina2">pagina 2</a>
    </body>
    </html>
    Qua dovresti indirizzare i link al GET che prendi (pagina), così:
    Codice HTML:
    <html>
    <body>
    <a href="prova1.php?pagina=pagina1">pagina 1</a></p>
    <a href="prova1.php?pagina=pagina2">pagina 2</a>
    </body>
    </html>
    Dovrebbe andare :)
    Non l'ho però provato in locale.
    Ultima modifica di comunitavirtuali : 01-09-2008 alle ore 16.23.06

  9. #9
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    grazie adesso controllerò se và. A he tipo di problemi di sicurezza ti riferisci?
    di nuovo grazie per la mano che mi stai dando

  10. #10
    Guest

    Predefinito

    Ad esempio se includi direttamente con include($_GET['pagina']); allora un utente malintenzionato potrebbe includere un file maligno dal suo sito per prendere il controllo del tuo account :)
    Ma puoi evitare filtrando attraverso funzioni specifiche quale htmlspecialchars ed evitare il tutto ^_^

    In teoria basta che fai un include del $_GET e gli concateni l'estensione .php e magari una directory (come nello script) per evitare questo :)
    Ultima modifica di comunitavirtuali : 01-09-2008 alle ore 16.46.07

  11. #11
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    la pagina non funziona ancora purtroppo, forse l'errore è nel menù?
    in teoria se ho capito come funziona il get al collegamento dovrei mettere la pagina in php che mi interessa e farla seguire dall'altra che gli voglio accodare assegnando un nome ed una variavile.
    questo è quello che cè attualmente
    Codice HTML:
    <html>
    <body>
    <a href="prova1.php?pagina=pagina1">pagina 1</a></p>
    <a href="prova1.php?pagina=pagina2">pagina 2</a>
    </body>
    </html>
    dpvrei forse mettere anche l'estensione della pagina da caricare?
    tipo:
    Codice:
    <a href="prova1.php?pagina=pagina2.htm">pagina 2</a>
    ??

  12. #12
    Guest

    Predefinito

    Lol!
    Io pensavo che le pagine da includere fossero in php ;)

    Qui <?php include ($pagina.".php"); ?> include la pagina $_GET aggiungendogli l'estensione .php

    se fai
    Codice PHP:
    <?php include ($pagina.".html"); // ti include quelle in html :)
    ?>

  13. #13
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    ci siamo per metà ho cercato di correggere, in effetti da come hai spiegato il get adesso l'ho capito meglio, vediamo un pò
    faccio un po di ordine con il file e le estensioni
    questa è la index chiamata prova1.php
    Codice PHP:
    <html>
    <head>
    <title>prova php</title>
    <body>
    <?php
    include ('menu.htm');
    ?>
    <table border="1">
    <tr><td>
    <?php
    $pagina
    = $_GET['pagina']; // qua dovresti fare anche dei controlli per la sicurezza sul tuo sito!!
    include [COLOR="Red"]("$pagina"); [/COLOR]?>
    </tr></td>
    </table>
    </body>
    </html>
    ho fatto una modifica in quello evidenziato in rosso perchè non funzionava proprio

    il file menu.htm
    edesso è stato corretto così
    Codice HTML:
    html>
    <body>
    <a href="prova1.php?pagina=pagina1">pagina 1</a></p>
    <a href="prova1.php?pagina=pagina2">pagina 2</a>
    </body>
    </html
    dove a pagina1 corrisponde sempre in .htm:
    Codice HTML:
    <html>
    <head>
    <title>pag1</title>
    </head>
    <body>
    questa è la pagina1!
    </body>
    </html>
    a questo punto mi ritrovo che appena apro l'index non ho una pagina caricata ma un messaggio di errore (in effetti ancora non gli ho specificato con che pagina aprire), cliccando sul link pagina1 all'interno della tabella viene caricata la pagina giusta (e questo è quello che desideravo) ma cliccando su pagina2 mi dà errore.... come faccio a fargli cambiare il valore.
    Scusa l'ottusaggine ma dall'html al php cè tutto un altro modo anche di ragionare

  14. #14
    Guest

    Predefinito

    Ripeto: guarda http://forum.it.altervista.org/php-m...k-un-link.html

    Inoltre togli i tag Body e head dalle pagine che includi, perchè sono già specificati nella pagina principale :)
    Ultima modifica di comunitavirtuali : 01-09-2008 alle ore 18.26.57

  15. #15
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    scusami tanto, ho fatto un errore io per distrazione, quello che mi hai consigliato tu è perfetto, stavo provando mentre scrivevo, il problema era nel menù vhe non lo avevo aggiornato.
    In conclusione posto i codici giusti così che possano servire ad altri:
    pag index (prova1.php)
    Codice PHP:
    <html>
    <head>
    <title>prova php</title>
    <body>
    <?php
    include ('menu.htm');
    ?>
    <table border="1">
    <tr><td>
    <?php
    $pagina
    = $_GET['pagina']; // qua dovresti fare anche dei controlli per la sicurezza sul tuo sito!!
    include ( $pagina.".htm"); ?>
    </tr></td>
    </table>
    </body>
    </html>
    il file di menu (menu.htm)
    Codice HTML:
    <html>
    <a href="prova1.php?pagina=pagina1">pagina 1</a></p>
    <a href="prova1.php?pagina=pagina2">pagina 2</a>
    </html>
    il file da incodare (pagina1.htm)
    Codice HTML:
    <html>
    <title>pag1</title>
    questa è la pagina1!
    </html>
    tutto questo grazie alle persone fantastiche e disponibili di questa comunity e all'amicone comunitàvirtuali, che aiutano pure i più interdetti come me
    Ultima modifica di EmoArt : 01-09-2008 alle ore 18.36.54 Motivo: cancellazione tag <body> e <head>

Regole di scrittura

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