Visualizzazione risultati 1 fino 11 di 11

Discussione: Impostare la class "current" per la pagina corrente in PHP

  1. #1
    Guest

    Predefinito Impostare la class "current" per la pagina corrente in PHP

    Salve, per il mio menu ho questo codice:
    Codice HTML:
    <div id="navbar">
    	<ul>
    	<li><a href="index.php" [B]class="current"[/B]>Home</a></li>
    	<li><a href="cosa_realizziamo.php">Cosa realizziamo</a></li>
    	<li><a href="esperienza.php">L'esperienza</a></li>
    	<li><a href="cosa_offriamo.php">Cosa offriamo</a></li>
    	<li><a href="dove_siamo.php">Dove siamo</a></li>
    	<li><a href="contattaci.php">Contattaci</a></li>
            </ul>
    </div>
    Ora, siccome voglio usare l'include per l'header, non posso inserire il codice in ogni pagina, per poi aggiungere il class in base alla pagina.
    Vorrei uno script PHP che permetta di inserire il class che ho evidenziato in base alla pagina.
    Per esempio, se sono nella pagina index.php mi si dovrà illuminare "Home", se invece sono in "Contattaci" dovrà illuminarsi "Contattaci".
    Grazie.
    Ultima modifica di dreadnaut : 04-09-2012 alle ore 11.53.01 Motivo: + tag [html]

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    La pagina dove si trova l'header ha estensione php o estensione html?

    No, perché, se ha estensioni php, potresti, ad esempio, strutturare il codice in questo modo:

    Codice PHP:
    <?php
    $url_pagina
    = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];
    ?>
    <div id="navbar">
    <ul>
    <?php
    if ($url_pagina == "url_della_home") {
    echo
    "<li><a href=\"..\" class=\"current\">Home</li>";
    }else {
    echo
    "<li><a href=\"..\">Home</a></li>";
    }

    ...
    // E cosi per ogni link
    ?>
    </ul>
    </div>
    Non so se con l'esempio mi sono ben spiegato.
    Ultima modifica di sevenjeak : 04-09-2012 alle ore 13.40.56

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da sevenjeak Visualizza messaggio
    La pagina dove si trova l'header ha estensione php o estensione html?

    No, perché, se ha estensioni php, potresti, ad esempio, strutturare il codice in questo modo:

    Codice PHP:
    <?php
    $url_pagina
    = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];
    ?>
    <div id="navbar">
    <ul>
    <?php
    if ($url_pagina == "url_della_home") {
    echo
    "<li><a href=\"..\" class=\"current\">Home</li>";
    }else {
    echo
    "<li><a href=\"..\">Home</a></li>";
    }

    ...
    // E cosi per ogni link
    ?>
    </ul>
    </div>
    Non so se con l'esempio mi sono ben spiegato.
    Si, ti sei spiegato benissimo, adesso provo.

  4. #4
    Guest

    Predefinito

    Non funziona e mi reindirizza su gtamodshelp.altervista.org

  5. #5
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Ha scusa, ho sbagliato qualcosa nel mio precedente codice, modifica la variabile $url_page cosi:

    Codice PHP:
    $url_pagina = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];
    Nel modo in qui era visualizzavi l'indirizzo relativa dalla del sito, partendo dalla root.

    Se anche dopo questa non funziona è starano, perché io sto utilizzando lo stesso metodo per il mio nuovo sito e funziona perfettamente.

    Se non funziona lo stesso potresti postare il codice.
    Ultima modifica di sevenjeak : 04-09-2012 alle ore 18.33.52

    Sevenjeak
    Software developer and much more

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da sevenjeak Visualizza messaggio
    Ha scusa, ho sbagliato qualcosa nel mio precedente codice, modifica la variabile $url_page cosi:

    Codice PHP:
    $url_pagina = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];
    Nel modo in qui era visualizzavi l'indirizzo relativa dalla del sito, partendo dalla root.

    Se anche dopo questa non funziona è starano, perché io sto utilizzando lo stesso metodo per il mio nuovo sito e funziona perfettamente.

    Se non funziona lo stesso potresti postare il codice.
    Ma era già così, comunque ti posto il codice.

    Codice PHP:
    <?php
    $url_pagina
    = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];
    ?>
    <div id="navbar">
    <ul>
    <?php
    if ($url_pagina == "index.php") {
    echo
    "<li><a href=\"index.php\" class=\"current\">Home</li>";
    }else {
    echo
    "<li><a href=\"index.php\">Home</a></li>";
    }

    ...
    // E cosi per ogni link
    ?>
    </ul>
    </div>
    Ultima modifica di gtamodshelp : 05-09-2012 alle ore 15.18.10

  7. #7
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Scusa un'altra volta, xd, ti volevo copiare la variabile come era impostata nel mio script invece ti ho copiato, per errore, il codice del mio precedente post.

    Cmq la variabile impostala cosi:

    Codice PHP:
    $url_page = $_SERVER["PHP_SELF"];
    Se fai una ricerca su google noterai che $_SERVER["PHP_SELF"] genera un url di questo formato: /tua_pagina.ext a questo punto ti basta cambiare solamente la condizione ( controllare se la variabile è uguale a /index.php, ecc.. ).

    Sevenjeak
    Software developer and much more

  8. #8
    Guest

    Predefinito

    Ok funziona.
    Avevi fatto un altro errore, per quello che non andava.
    Avevi messo 2 uguali :
    Codice PHP:
    if ($url_pagina == "index.php")

  9. #9
    Guest

    Predefinito

    No, non va.
    Ho inserito due link e si illuminano tutti e due.
    Codice PHP:
    <?php
    $url_page
    = $_SERVER["PHP_SELF"];
    ?>
    <div id="navbar">
    <ul>
    <?php
    // Link 1
    if ($url_page = "index.php") {
    echo
    "<li><a href=\"index.php\" class=\"current\">Home</li>";
    }else {
    echo
    "<li><a href=\"index.php\">Home</a></li>";
    }

    // Link 2
    if ($url_page = "cosa_realizziamo.php") {
    echo
    "<li><a href=\"cosa_realizziamo.php\" class=\"current\">Cosa realizziamo</li>";
    }else {
    echo
    "<li><a href=\"cosa_realizziamo.php\">Cosa realizziamo</a></li>";
    }
    ?>
    </ul>
    </div>

  10. #10
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Hai sbagliato a scrivere le condizione, hai usato il segno di assegnazione ( = ) al posto del segno di confronto identico ( == ), forse è quello l'errore.

    Se non funziona ancora non saprei che dirti, come già ti ho detto io utilizzo lo stesso script e mi funziona correttamente.

    P.S.: Altro errore, la variabile non produce solo l'url in questo formato: nome_pagina.php, in questo ti può aiutare stampando la variabile prima di confrontarla.

    P.P.S.: Ho riprovato il codice con le modifiche che ti ho appena detto e a me funziona.
    Ultima modifica di sevenjeak : 05-09-2012 alle ore 21.32.37

    Sevenjeak
    Software developer and much more

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da sevenjeak Visualizza messaggio
    P.S.: Altro errore, la variabile non produce solo l'url in questo formato: nome_pagina.php, in questo ti può aiutare stampando la variabile prima di confrontarla.
    Come faccio a sistemare questo errore?
    Non sono molto bravo con il PHP.

Regole di scrittura

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