variabili globali?

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
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 :)
 
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..
PHP:
function FunzioneProva(){
	static $ciao;
	if(!isset($ciao)){
		//Elaboro i dati
	}

	return $ciao;
}
 
ciao
per dichiarare globali le variabili devi usare global es.
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
 
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?
 
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
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....
PHP:
<?php
session_start();
//ecc......
echo $_SESSION['zero'];
echo $_SESSION['uno'];
echo $_SESSION['due'];
//ecc...
?>
 
ed è lo stesso se io le richiamo dal database

tipo

select variabile from tabella

$variabilex= query

e poi la definisco come sessione

PHP:
$_SESSIO['variabile']=$variabile

e in goni pagina successiva la richiamo

con

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
PHP:
$variabile=$_SESSION['variabileì]:
?
 

Discussioni simili