Newsgroup: it.comp.programmare
Titolo: [PHP] Problema con variabili

Salve a tutti!
Avrei il problema di dichiarare delle variabili "globali" a tutte le
pagine del mio progetto in php. Cioe' una variabile impostata nella
prima pagina deve essere utilizzabile e modificabile anche in tutte le
altre.
Per ora se definisco la mia varibile nella mia prima pagina e
"includo" una secoda funziona tutto, ma se dalla seconda passo ad una
terza (una form) e da questa torno alla seconda, mi ritrovo la
varibile inizializzata a 0!!
Why?
---
Ciao
SM

 altre.
Perchè il webserver è stateless, e, dicendola breve, da una pagina
all'altra non si passano le variabili normalmente dichiarate. Quindi, o
nella pagina con il form metti dei campi input nascosti, dove
l'attributo name = nome variabile che vuoi passare e value = valore
della variabile, oppure, se la pagina viene richiamata clickando su un
link, aggiungendo le variabili con i rispettivi valori nell'url.
Esempi:
suppondendo che abbiamo le variabili $prima (con valore "pippo") e
$seconda (con valore "pluto") e che tali variabili devono essere passati
alla pagina "successivo.php":
-primo caso:
<form action="successivo.php" method="POST">
...campi vari...
<input type="hidden" name="prima" value="pippo">
<input type="hidden" name="seconda" value="pluto">
....
<input type="submit">
</form>
-nel secondo caso:
<a href="successivo.php?prima=pippo&seconda=pluto">
Chiaramente il tutto può essere "condito" di php, quindi dove vengono
dichiarati i valori puoi pure fare uso di codice php che stampa il
valore attuale della variabile. Il secondo caso diventa, ad esempio:
<a href="successivo.php?prima=<?php echo $prima; ?>&seconda=<?php echo
$seconda; ?>">
o, nel caso in cui il blocco sia già dentro del codice php:
echo "<a href=\"successivo.php?prima=$prima&seconda=$seconda\">";
Altrimenti, se fai uso del PHP 4, puoi dare un'occhiata alle sessioni,
ma il browser del client deve supportare i cookie.
-- 
Saluti, Alex
Direzione Ricerca & Sviluppo Datalogica

ma il browser del client deve supportare i cookie.
GRAZIE!!!
Ma la cosa funzione se le variabili sono dentro ad una from, e se
non fosse cosi'?
Nel mio caso quello che devo ottenere e' che nella prima pagina la
variabile (che poi e' un indice) venga inizializzata ad 1. La
seconda pagina gestisce il ritorno da una from (terza pagina) e a
seconda della scelta fatta(nella form, appunto) opera in un
determinato modo sulla variabile.
Il mio prob e' che appena ritorno dalla form, la variabile torna
sempre a 0 :-((
Altra cosa, se ho 2 pagine che richiedono la mia libreria di
funzioni, ottengo un errore : "Can't redeclare already declared
function". Come posso fare ad ovviare al problema?
---
Ciao
SM
-> bacillo .at. web-y .dot. net

 function". Come posso fare ad ovviare al problema?
Sembrerebbe che la stessa libreria venga inclusa piu' volte (inclusioni
ricorsive?)
Saluti
--
Luca Balzerani
http://www.LatoServer.it
 - Sviluppo e Programmazione Server-Side
Sent via Deja.com 
http://www.deja.com/
Before you buy.

Altrimenti se non puoi migrare su PHP4, puoi utilizzare la libreria PHPlib
che implementa il session management con PHP3 ed inoltre fornisce
un'interfaccia verso i DB che permette di astrarre l'accesso ai dati dal
tipo di database che stai utilizzando.
La libreria e' ottima anche se un po' obsoleta visto il rilascio di PHP4
(che pero presenta ancora qualche problemino, soprattutto con MySQL).
Il mio consiglio e' comunque migrare verso l'utilizzo del session handling
che come scoprirai ti risolvera' un fracco di problemi :)
PS l'URL della libreria e' 
http://phplib.netuse.de/
Voster semper Voster
          .And.
