Risultati da 1 a 6 di 6

Discussione: variabili globali?

  1. #1
    Monital è offline Utente del Forum
    Data Registrazione
    Apr 2009
    Messaggi
    332

    variabili globali?

    Buongiorno,

    c'è un concetto che non mi entra in testa, ho letto alcune pagine al riguardo compresa quella di questo forum.

    Credo che sia quello che sto cercando.

    In pratica faccio un esempio:

    nel databse mysql ho dieci dati e questi valori devono essere prensenti in ogni pagina del mio script.

    Al momento ho fatto una prova creando una pagina dove estraggo i dieci dati e gli assegno una variabile, poi questa pagina la includo in ogni pagina del mio script così ho le variabili in ogni pagina.

    Sicuramente risolverei il problema con la session però dovrei richiamare in ogni file la variabile $SESSION ed io voelvo evitarlo.

    Se non ho capito male invece con le variabili globali posso definirle una sola volta senza più richiamarle. ma come funziona esattamente dove vanno dichiarate le variabili globali?

    Scusate l'ignoranza. Ma sono sempre autodidatta

  2. #2
    TheTrigger è offline Utente del Forum
    Data Registrazione
    Jun 2011
    Messaggi
    26
    Ciao, fammi capire meglio, le pagine successive le carichi via ajax o tramite la funzione include()?
    Perché nel secondo caso non devi fare niente, le variabili vengono lette anche dai file inclusi.
    Se hai una funzione che richiami più volte, e vuoi tenere in memoria il dato elaborato, puoi usare (dentro la funzione) il comando static..
    Codice PHP:
    function FunzioneProva(){
        static 
    $ciao;
        if(!isset(
    $ciao)){
            
    //Elaboro i dati
        
    }

        return 
    $ciao;


  3. #3
    L'avatar di borgo italia
    borgo italia è online Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    7,309
    ciao
    per dichiarare globali le variabili devi usare global es.
    Codice PHP:
    <?php
    $a 
    1;
    $b 2;
    function 
    somma(){
        global 
    $a$b;
        
    $b $a $b;

    somma();
    echo 
    $b;//output risulta 3 non 2 , se non global l'output è 2
    ?>
    però a che ne so io non vengono trasmesse da una pagina all'altra, ma lette fuori e dentro una function, l'unico sistema per trasmettere da una pag all'altra sono get, post, session e cookie
    comunque l'uso delle globali può portare ad errori soprattutto se le function sono complesse in quanto puoi andare ad interagire (se per caso dai lo stesso nome) con varibili esterne, quindi sarebbe, se possibile, meglio evitarle

  4. #4
    Monital è offline Utente del Forum
    Data Registrazione
    Apr 2009
    Messaggi
    332
    alcune pagine sono incluse altre si passano i dati tramite form.


    però le variabili che vorrei avere sempre in ogni pagina sono dei dati estratti dal database.

    Quindi in sostanza per averle sempre adisposizione senza richiamarle con delle query ogni volta, correggetemi se sbaglio, potrei continuare a fare come sto facendo ora ma con l'uso della sessione.

    del tipo :

    creo una pagina che mi estrae tutte le variabili basi da mysql e la includo nella index

    in questa pagina inziio con session_start()
    e poi nelle apgine seguenti(sempre avente session_start() ad inizio pagina) mi basta richiamarle con $_SESSION[ìvariabileì] senza usare le globali

    Giusto?

  5. #5
    L'avatar di borgo italia
    borgo italia è online Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    7,309
    ciao
    si per passare il valore di una variabile da una pagina ad altre penso che il sistema migiore sia l'utilizzo delle sessioni, sempre iniziando dove le usi con session_start().
    piccolo esempio
    pagina uno.php
    Codice PHP:
    <?php
    session_start
    ();
    //ecc......
    //poi pui direttamente in questo passare direttamente alla session e utiizzarla
    $_SESSION['zero']=$_POST['sofonisba'];
    $_SESSION['uno']= $row['pinco'];
    $_SESSION['due']= $row['pallo'];
    //ecc...
    ?>
    pagine due.php, tre.php....
    Codice PHP:
    <?php
    session_start
    ();
    //ecc......
    echo $_SESSION['zero'];
    echo 
    $_SESSION['uno'];
    echo 
    $_SESSION['due'];
    //ecc...
    ?>

  6. #6
    Monital è offline Utente del Forum
    Data Registrazione
    Apr 2009
    Messaggi
    332
    ed è lo stesso se io le richiamo dal database

    tipo

    select variabile from tabella

    $variabilex= query

    e poi la definisco come sessione

    Codice PHP:
    $_SESSIO['variabile']=$variabile 
    e in goni pagina successiva la richiamo

    con

    Codice PHP:
    $variabile=$_SESSION['variabileì]: 
    giusto?

    p.s.

    e non c'è altra maniera di tenere queste varibili fisse epr ogni pagina dello script, senza doverle sempre richiamare con
    Codice PHP:
    $variabile=$_SESSION['variabileì]: 
    ?

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •