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

    dichiarazione variabile

    Ciao a tutti,
    ho provato a cercare in giro per il web ma nulla... ho un problema o meglio problemone, sono alle prime armi con PHP, ho un problema con la dichiarazione delle variabili..

    sono in questa situazione

    <?php echo"$homeevidenziato"; ?> (nel file header.php)


    codice html


    <?php $homeevidenziato = 'class="current"'; ?> (nel file index.php)


    ora come vedete sto dichiarando la variabile dopo all'echo e so che no può funzionare.. quindi la domanda è... c'è un modo per farlo funzionare? (ho accesso al server)

    Questa cosa mi serve per assegnare l'hoover all'immagine del menù, però dato che ho diviso il sito in

    - header.php
    - index.php
    - footer.php

    ed il menù è nell'header....

    spero di essermi spiegato..
    vi ringrazio a tutti
    Gianni

  2. #2
    Ciao, se ho capito bene il problema è che hai inizializzato una variabile in un file e la vuoi richiamare in un altro.

    Mi vengono in mente 2 soluzioni:

    -se vuoi passare parametri da un file all'altro puoi farlo tramite una GET o una POST, se non hai una form per esempio, e hai un link che deve passare il valore di una variabile $ciao ad un altro file puoi fare così:

    Nella pagina1.php (quella di invio)
    codice:
    <?php
    $ciao="ciao";
    echo "<a href=\"pagina2.php?ciao=".$ciao."\" target=\"_parent\">LINK</a>";
    ?>
    Nella pagina2.php (quella di ricezione)

    codice:
    <?php
    $ciao=$_GET['ciao'];
    echo $ciao;
    ?>
    -Altrimenti se devi farlo in modo...diciamo passivo, puoi fare un import.

    pagina1.php (contenente l'inizializzazione delle variabili)
    codice:
    <?php
    $pippo="pippo";
    $topolino="topolino";
    ?>
    pagina2.php (in cui vengono usate le variabili SENZA dichiararle)
    codice:
    <?php
    import 'pagina1.php';
    echo $topolino."si fa le topoline";
    echo $pippo."si fa le...";
    ?>
    Quanti programmatori sono necessari per cambiare una lampadina?
    Nessuno, e' un problema hardware.

  3. #3
    ciao grazie per la risposta.... ho provato nei 2 modi ma non funziona... ti spiego meglio..

    header.php

    Codice PHP:
    <div class="menu">
                        <
    ul>[*]<div>[url="index.php"]>Home[/url]</div>[*]<div>[url="servizi.php"]>Servizi[/url]</div>[*]<div>[url="chisiamo.php"]>Chi Siamo[/url]</div>[*]<div>[url="supporto.php"]>Supporto[/url]</div>[*]<div>[url="contatti.php"]>Contatti[/url]</div>[/list]
                    </
    div

    index.php

    Codice PHP:
    <?php include"header.php"
    $homeevidenziato 'class="current"';

    ?>
    nelle altre pagine invece sarà (in questo caso faccio l'esempio della pagina servizi.php)

    Codice PHP:
    <?php include"header.php"
    $servizievidenziato 'class="current"';

    ?>
    questo serve per evidenziare in hoover il link nel menù
    come posso fare?
    grazie...

  4. #4
    A te serve una sorta di menu intelligente quindi: vuoi attivare una particolare classe CSS se la pagina visualizzata corrisponde ad una delle voci del menu??
    Sbaglio??

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    prima di tutto volevo dirti che ho scritto import al posto di include... ho scritto di fretta sry.

    Scusa anche per questa ipotesi forse stupida.... ma non è che magari non funziona per il fatto che hai messo l'inizializzazione dopo l'include? Prova ad invertirli in questo modo:

    codice:
    <?php
    
    $homeevidenziato = "class=\"current\"";
    include 'header.php'; 
     
    ?>
    Aspetto una tua risposta
    Quanti programmatori sono necessari per cambiare una lampadina?
    Nessuno, e' un problema hardware.

  6. #6
    Originariamente inviato da Mercuzio
    Scusa anche per questa ipotesi forse stupida.... ma non è che magari non funziona per il fatto che hai messo l'inizializzazione dopo l'include? Prova ad invertirli in questo modo:
    No, lo script non funziona perché è errato l'aproccio allo script.
    Si deve agire semplicementre recuperando la pagina visualizzata con $_SEREVER['PHP_SELF'] ed andando a verificare di volta in volta, quale sia la pagina visualizzata in riferimento ad ogni singola voce del menù.

    Di solito questo lavoro si fa con un array:
    Codice PHP:
    $menu = array(
      array(
    "voce" => "home""link" => "home.php"),
      array(
    "voce" => "Servizi""link" => "servizi.php"),
      array(
    "voce" => "Chi Siamo""link" => "chisiamo.php"),
      array(
    "voce" => "Supporto""link" => "supporto.php"),
      array(
    "voce" => "Contatti""link" => "contatti.php")
    );

    // la pagina visualizzata
    $pag $_SEREVER['PHP_SELF']; 
    Una volta impostato così lo script, non devi fare altro che ciclare con un FOREACH l'array del menu, e (all'interno del ciclo) andare a verificare SE la voce del LINK corrisposde a quella di $pag.
    Se sì stampi la classe CSS nel link, altrimenti no.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    ciao Mercuzio,
    si ci sono arrivato ieri sera! bastava dichiarare la variabile prima dell'include... un problema più grosso a spiegarlo...


    grazie!

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.