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

    Menu orizzontale che segnala la sezione

    Ciao a tutti, non so se ho scelto la sezione giusta. Premetto che sto facendo uno dei miei primi lavori in PHP, CSS etc.
    Vorrei sapere se potete consigliarmi come fare per creare in un sito un menu che cambi colore (e resti nel suo stato) a seconda della sezione in cui si trova l'utente (home, chi siamo e così via). Un po' come avviene nel menu di sinistra di html.it
    Chi mi consiglia qual è la strada più facile (CSS, PHP o Javascript) e magari mi posta anche un bel link? Grazie mille!

  2. #2
    In PHP dipende dal controllo che hai sulla pagina HTML, in sotanza se hai a disposizione un motore di templating o semplicemente del codice php che stampa codice html.

    Di solito le varie sezioni di un sito vengono gestite tramite il passaggio di una variabile GET o POST in modo da avere un URL del tipo http://ww.miosito.it/index.php?s=home
    Dove s rappresenta la sezione che si vuole visitare a questo punto in base al valore di quella variabile, cioè in base alla sezione che si deve visualizzare si modifica il codice HTML/Css

    <?php
    function printBar() {
    switch($_GET["s"]) {
    case "home":
    $colore = "#ff6600";
    break;
    //Lo stesso vale per le altre sezioni diverse da Home, non devi fa altro che scrivere costrutti case break
    }

    echo "<div style=\"background-color:$colore\">CODICE SIDEBAR</div>";
    }

    //Per richiamare la funzione ti basta un semplice:
    printBar();
    ?>

    Spero di essere stato di aiuto, per ulteriori informazioni su CSS html e PHP puoi cercare direttamente su questo sito . Per spulciare CSS HTML XHTML ecc.. clicca qui:
    http://www.w3schools.com
    Digital Riot!
    http://fatmatt.wordpress.com
    -Chi è disposto a rinunciare alla propria libertà in cambio di sicurezza, non merita ne libertà ne sicurezza- Benjamin Franklin

  3. #3
    Grazie mille della risposta davvero molto precisa e che risolve il mio problema in pieno. Approffitto della tua conoscenza e cortesia, essendo nuovo di PHP come ho anticipato, vorrei chiederti due cose rispetto quello che mi hai scritto:

    1. quando parli della variabile GET mi interessa sapere in che modo passo la pagina che l'utente ha cliccato (penso tramite DB)
    2. è sbagliato pensare di fare un sito tramite link di pagine php?

    Guarda se mi fai anche una breve spiegazione mi risolvi un dubbio che ho da tempo: non ho avuto esempi di siti già fatti da veterani per cui navigo un po' secondo le mie sensazioni ma non sono convinto di sfruttare appieno la potenza del linguaggio.

    Grazie ancora

  4. #4
    Cominciamo dalla domanda numero 2

    Non è sbagliato pensare di creare un sito linkando tra loro pagine php, anzi, la maggior parte dei siti dinamici in php funziona così, anche se ci son delle eccezioni: nessuno ti vieta di scrivere uno script in una unico file php che grazie ad opportune strutture di controllo (come lo switch del mio esempio) esegue il flusso che il programmatore definisce.
    Inoltre Scrivere tutto in un unico file ha diversi pro e contro (che dipendono comunque dal tipo di applicazione che si vuole sviluppare) ad esempio avere tutto in un unico file ti permette di avere TUTTO sotto controllo in una sola schermata, ma quel TUTTO può confonderti... quindi si ricorre all'inclusione d moduli php (ma per questo ti rimando a delle guide che spiegano più chiaramente quello che sto dicendo)

    Per il punto uno, puoi passare la pagina richiesta (cliccata) dall'utente formando un URL opportuno:
    le variabili get di cui parlavo vengono passate direttamente nella barra degli indirizzi nel modo seguente:
    http://sito.com/index.php?var1=valore1&var2=valore2 (...)
    (per un esempio basta che guardi l'url del browser mentre leggi questa pagina

    nell'url di esempio che ho scritto uno script php può accedere a"valore1" e "valore2" in questo modo:

    <?php

    //Stampo valore1
    echo "La variabile var1 vale: ";
    echo $_GET["var1"];
    echo "\n";
    //Stampo valore2
    echo "La variabile var2 vale: ";
    echo $_GET["var2"];
    echo "\n";
    ?>

    Tieni conto che passare con il metodo GET variabili che contengono molto testo non è il massimo ... per questo ti consiglio di usare POST


    Tanto per completezza XD ecco un form che invia la richiesta GET che ho scrito sopra:

    <form name="form" action="index.php" method="GET">
    <input type="text" name="var1">

    <input type="text" name="var2">

    <input type="submit" value="invia">

    </form>


    Tieni conto che il codice html che ho scritto esteticamente non è il massimo
    Digital Riot!
    http://fatmatt.wordpress.com
    -Chi è disposto a rinunciare alla propria libertà in cambio di sicurezza, non merita ne libertà ne sicurezza- Benjamin Franklin

  5. #5
    Grazie mille sei stato davvero gentilissimo conserverò ed approfondirò i tuoi utilissimi consigli

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.