Ignoranza riguardo $_SESSION

Spider-man

Nuovo Utente
4 Mar 2025
5
0
1
Buon giorno a tutti
Ho un problema (una ignoranza in realtà) con una variabile super globale: non so come assegnare, dall'interno del codice html, un valore alla sopracitata variabile.
Mi spiego meglio.
La mia pagina index, nella sua parte php, assegna un valore costante alla variabile...
Codice:
$_SESSION['zoom_utente'] = 17;
Dalla index poi, tramite un link, si passa a una seconda pagina che utilizza la variabile di cui sopra per i propi scopi. Nella seconda pagina è presente, tra le varie cose, una funzione in java script (che però devo ancora scrivere) che mi restiutisce un valore che poi devo infilare dentro la variabile super globale. Non riesco a capire come fare; ho cercato su Internet ma non ho trovato nulla (forse sbaglio i parametri di ricerca).

Io ho provato così

Codice:
" . $_SESSION['zoom_utente'] . " = zoom;

ma non funziona.
In pratica devo assegnare "zoom" a "zoom_utente".
Grazie a chi mi vorrà aiutare e buona giornata a tutti :-)

Antonio :)

P.S. ho già effettuato un post simile qualce ora fa ma non ne trovo traccia. Nel caso dovesse riapparire, chiedo scusa per il "doppione" (e poi lo cancellerò) :)
 
Ciao per passare dei "dati" da javascript (lato client) a php (lato server) puoi agire in vari modi in base al contesto.

Bisognerebbe capire meglio dove, come e quando questo dato (la variabile zoom_utente) deve eseere aggiornato e utilizzato.

Normalmente si potrebbe usare un tradizionale form html in cui il valore verrà trasferito al server dopo aver eseguito il submit del form stesso. Questo metodo prevvede che i dati siano inviati ad uno script lato server, il quale li potrà processare e rimandare indietro al client attraverso una pagina di risposta che sarà mostrata sul browser come una nuova pagina.

In alternativa si potrebbe usare un sistema ajax (o il metodo fetch, o similari) per poter dialogare col server in modo asincrono, per cui trasmettere/ricevere dati che potrenno poi essere usati runtime via javascript.
 
  • Like
Reactions: Spider-man
Ciao spider-man,
se ho capito bene, correggimi se sbaglio, valorizzi una variabile superglobale dopodichè, tramite un link, richiami una nuova pagina nella quale ne recuperi il valore e, tramite uno script javascript assegni la variabile PHP ad una variabile javascript, la elabori e ne trovi un nuovo valore; a questo punto il problema è ritrasformare la variabile javascript in variabile PHP, giusto? Io non conosco bene il javascript, giusto un’infarinatura: trasformare una variabile PHP in variabile js è abbastanza semplice ma non tanto il contrario; l’unico modo che conosco è, come suggeriva anche WmbertSea, tramite una chiamata Ajax: una volta elaborata la variabile la passi, tramite una chiamata Ajax, ad uno script, ne recuperi il valore e avrai la tua variabile PHP

Zorro
 
  • Like
Reactions: Spider-man
Ciao Antonio, per aggiornare una variabile PHP (come $_SESSION['zoom_utente']) a partire da un valore ottenuto in JavaScript, non puoi farlo direttamente nel codice HTML o lato client, perché PHP viene eseguito prima che il browser interpreti il JavaScript. Per passare il dato dal client al server, devi usare una richiesta HTTP (come una submit di form o una chiamata Ajax/Fetch). In pratica, il valore ottenuto in JavaScript va inviato a uno script PHP che aggiorna la sessione. È un passaggio obbligato: il server non può vedere le variabili JavaScript se non gliele mandi esplicitamente.
 
  • Like
Reactions: Spider-man
Ciao spider-man,
se ho capito bene, correggimi se sbaglio, valorizzi una variabile superglobale dopodichè, tramite un link, richiami una nuova pagina nella quale ne recuperi il valore e, tramite uno script javascript assegni la variabile PHP ad una variabile javascript, la elabori e ne trovi un nuovo valore; a questo punto il problema è ritrasformare la variabile javascript in variabile PHP, giusto?[...]

Zorro
Esatto.
Prima di tutto grazie per il tempo che mi avete dedicato e poi vorrei scusarmi per non essermi fatto più sentire ma il forum non mi ha notificato che c'eranpo delle risposte.

Ti/vi riposto il problema con gli ultimi aggiornamenti.

Ho una prima pagina (misto php e html) che mostra i dati inviati da un geolocalizzatore che dovrò utilizzare a bordo della mia barchetta a vela.
Su questa prima pagina è possibile cliccare su un link che indirizza verso una seconda pagina (mista anche questa) in cui viene mostrata la posizione della barca su una mappa di OpenStreetMap. Il link trasporta una variabile che imposta lo zoom iniziale della mappa. Entrambe le pagine hanno l'auto refresh attivo.
Giunti alla mappa, l'utente può cambiare il livello dello zoom agendo sull'apposito cursore però (e qui sta il problema) non appena si avvia il refresh (automatico o a mano), lo zoom torna al livello iniziale (quello importato dalla pagina precedente); se invece lo cambio a mano andando a scrivere il livello direttamente nell'url della seconda pagina e premo invio, il nuovo valore diventa permanente e non cambia più neanche dopo il refresh (sia a mano sia automatico).
Come si fa, da HTML o javascript (ho l'impressione che da php non sia possibile farlo), a cambiare il valore nell'URL e renderlo permanente come avviene quando lo inserisco a mano? Il valore da inserire nell'URL me lo dovrebbe restituire la barra laterale dello zoom (il condizionale è d'obbligo perché devo ancora cercare la funzione specifica dentro le librerie js di OpenStreetMap).

l'indirizzo della prima pagina è questo: accatitipiesse://www.notiziarioweb.altervista.org/

Grazie per l'aiuto e di nuovo buona serata a tutti

Antonio C.

p.s. se necessario posterò l'intero codice delle 2 pagine (non l'ho fatto ora perché temo di generare confusione).
 
Rispondo qui a WmbertSea e a therope (a Zorro gli ho risposto direttamente).

Prima di tutto grazie per il tempo che mi state dedicando e poi vorrei scusarmi per non essermi fatto più sentire ma il forum non mi ha notificato che c'erano delle risposte.
Vi riposto il problema cercando di spiegarmi meglio dell'altra volta e con gli ultimi aggiornamenti.
Ho una prima pagina (misto php e html) che mostra i dati inviati da un geolocalizzatore (in tempo reale quando è acceso) che dovrò utilizzare a bordo della mia barchetta a vela.
Su questa prima pagina è possibile cliccare su un link che indirizza verso una seconda pagina (mista anche questa) in cui viene mostrata la posizione della barca su una mappa di OpenStreetMap. Il link trasporta una variabile che imposta lo zoom iniziale della mappa. Entrambe le pagine hanno l'auto refresh attivo.
Giunti alla mappa, l'utente può cambiare il livello dello zoom agendo sull'apposito cursore però (e qui sta il problema) non appena si avvia il refresh (automatico o a mano), lo zoom torna al livello iniziale (quello importato dalla pagina precedente); se invece lo cambio a mano andando a scrivere il livello direttamente nell'url della seconda pagina e premo invio, il nuovo valore diventa permanente e non cambia più neanche dopo il refresh (sia a mano sia in automatico).
Come si fa, da HTML o javascript (ho l'impressione che da php non sia possibile farlo), a cambiare il valore nell'URL e renderlo permanente come avviene quando lo inserisco a mano? Il valore da inserire nell'URL me lo dovrebbe restituire la barra laterale dello zoom (il condizionale è d'obbligo perché devo ancora cercare la funzione specifica dentro le librerie js di OpenStreetMap).

L'indirizzo della prima pagina è questo: accatitipiesse://www.notiziarioweb.altervista.org/

Grazie per l'aiuto e di nuovo buona serata a tutti

Antonio C.

p.s. se necessario posterò l'intero codice delle 2 pagine ed anche il file dati che invio al sito web tramite Arduino (non l'ho fatto ora perché temo di generare confusione).
 

Discussioni simili