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

    Link che aggiornano solo una parte del body

    Ciao ragazzi

    sono un novellissimo di php e voglio rifare il mio sito da html statico in php.

    sto iniziando dai menu e a me piace molto l'effetto in cui cliccando un link del menu si aggiorna solo il body centrale della home senza ricaricare tutto il resto (ad esempio header footer ecc)

    per farvi capire questo effetto:

    http://www.clarita.it/

    io ho un'idea ma preferisco sapere la procedura "standard" e poi ne discutiamo dopo i primi post

    grazie a tutti

    Ciao
    http://www.sd-studio.it - L'ingegneria nel web design

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    le soluzioni potrebbero essere 2:

    1) hai tre file:
    index.php
    foot.php
    head.php

    e index richiama head.php e foot.php

    Codice PHP:
    include ("head.php");
    //corpo o altra inclusione
    include ("foot.php"); 
    2)hai 2 file
    index.php
    template.php

    template.php è cosi composto:

    Codice PHP:
    function head()
    {
    //codice html della testa
    }

    function 
    foot()
    {
    //codice html del piede

    index.php invece:

    Codice PHP:
    include ("template.php");
    //richiamo la funzione head
    head();

    //codice del corpo

    //richiamo il foot dove ne ho bisogno
    foot(); 
    il sito che hai dato come riferimento è tutto statico ma l' effetto ottenuto con entrambi i casi è lo stesso. Hai però la comodità che se devi fare una variazione in foot o head, la fai una volta sola per tutto il sito.
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3

    ok

    grazie

    a livello strutturale il tuo suggerimento mi è molto utile

    resto ancora perplesso su come si impostano i link (con dei parametri) che puntano alla stessa pagina (vuota) per riempirla in maniera differenziata in termini di contenuti in base al link di provenienza cliccato.

    grazie

    Dario
    http://www.sd-studio.it - L'ingegneria nel web design

  4. #4
    Altrimenti potresti fare una cosa che lavora al contrario di quello che diceva dottwatson ...

    Cioè, invece di avere diverse pagine che includono sempre header, footer etc. etc. in modo che ianche se bisogna modificare qualcosa bisogna lavorare su un solo file, si crea una index.php che si divide praticamente in aree (e si fa una cosa del tipo index.php?area=home, index.php?area=pippo etc.) e in questa pagina di mette il codice dell'header e del footer (che comunque se vuoi puoi sempre includere da un file esterno) ed in base all'area richiesta includi una pagina e varia il contenuto...

    Se vuoi un codice di esempio:

    Codice PHP:
    <html>

    <head>
    <title>Prova</title>
    </head>

    <body>

    <div id="container">

    <div id="header">
    <?php
    include ("header.php");
    ?>
    </div>

    <div id="content">
    <?php
    // Se viene setta via URL la variabile AREA
    if (isset($_REQUEST['area'])) {
    // Verifichi quale Area sia richiesta
    if ($_REQUEST['area'] == "home") {
    // E in base a ciò includi la pagina che vuoi
    include ("home.php");
    } elseif (
    $_REQUEST['area'] == "sw") {
    include (
    "software.php");
    }
    } else {
    // Altrimenti includiamo la pagine di Home
    include ("home.php");
    }
    ?>
    </div>

    <div id="footer">
    <?php
    include ("footer.php");
    ?>
    </div>

    </div>

    </body>

    </html>

  5. #5

    si

    la tua soluzione è molto + vicina a quello che avevo in mente

    ma la cosa è ancora + semplice di quello che probabilmente mi avete suggerito.

    io lo scheletro della home index.php già ce l'ho e deve restare così (l'ho fatto con i css e tutta la grafica è ok)

    i menu a sx e a dx li includo correttamente con 2 include e anche loro sono ok

    la cosa che deve cambiare è solo ed unicamente il contenuto del centro di tale tabella in base al link selezionato

    questo vorrei che avvenisse nella stessa index.php, tutto qui
    http://www.sd-studio.it - L'ingegneria nel web design

  6. #6

    Re: si

    Originariamente inviato da dario79
    la tua soluzione è molto + vicina a quello che avevo in mente

    ma la cosa è ancora + semplice di quello che probabilmente mi avete suggerito.

    io lo scheletro della home index.php già ce l'ho e deve restare così (l'ho fatto con i css e tutta la grafica è ok)

    i menu a sx e a dx li includo correttamente con 2 include e anche loro sono ok

    la cosa che deve cambiare è solo ed unicamente il contenuto del centro di tale tabella in base al link selezionato

    questo vorrei che avvenisse nella stessa index.php, tutto qui
    Appunto, la pagina HTML che ti avevo scritto era solo per farti capire e non lasciarti il PHP così da solo... Semplicemente nel Menu ai link metti appunto index.php?area=home, index.php?area=info etc. etc. e poi nella parte dove và il contenuto metti il codice che io ho messo all'interno di <div id="content"></div>.


  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012

    Re: ok

    Originariamente inviato da dario79
    a tua soluzione è molto + vicina a quello che avevo in mente

    ma la cosa è ancora + semplice di quello che probabilmente mi avete suggerito.

    io lo scheletro della home index.php già ce l'ho e deve restare così (l'ho fatto con i css e tutta la grafica è ok)

    i menu a sx e a dx li includo correttamente con 2 include e anche loro sono ok

    la cosa che deve cambiare è solo ed unicamente il contenuto del centro di tale tabella in base al link selezionato

    questo vorrei che avvenisse nella stessa index.php, tutto qui
    tu dici in base al link cliccato.. beh qui entra in gioco quello che ha detto poc'anzi Mastion

    Codice PHP:
    <div id="content">
    <?php
    // Se viene setta via URL la variabile AREA
    if (isset($_REQUEST['area'])) {
    // Verifichi quale Area sia richiesta
    if ($_REQUEST['area'] == "home") {
    // E in base a ciò includi la pagina che vuoi
    include ("home.php");
    } elseif (
    $_REQUEST['area'] == "sw") {
    include (
    "software.php");
    }
    } else {
    // Altrimenti includiamo la pagine di Home
    include ("home.php");
    }
    ?>
    </div>
    ha utilizzato dei div (strutturalmente molto corretti) ma potresti farlo anche in mezzo a dei <table> o <td>... dove ne hai la necessità insomma.... e per richimarli il link sarà www.tuosito.it/index.php?area=tuascelta

    postato insieme
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8

    ok

    ci proverò appena posso e vi dirò l'esito

    un'altra info legata alla stessa questione please:

    ovviamente in base a tali cambiamenti di contenuti dovrei cambiare i vari meta tag

    come posso modificare tali meta in base al link di "provenienza" ?

    è possibile dichiarare i meta come variabili e poi passarli nel link tramite query string?

    oppure fare un ulteriore include a livello di meta?

    grazie!
    http://www.sd-studio.it - L'ingegneria nel web design

  9. #9
    Si volendo puoi benissimo passarli via URL altrimenti utilizzando sempre lo stesso codice che utilizzi per includere le varie parti del sito cambi i META TAG.


  10. #10

    ciao

    ho provato e tutto funziona perfettamente!


    l'unica cosa che ho notato è che con l'include perdo le modifiche stilistiche che ho dato al file da includere

    ad esempio metto in body.php un paragrafo in verdana blu e dopo l'include vedo tutto nero con carattere standard....come mai?


    grazie
    http://www.sd-studio.it - L'ingegneria nel web design

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.