Ciao e grazie dell'aiuto,ho un problema con il passaggio di valori. Quando passo da a.php a b.php il valore della variabile che mi interessa si conserva, mentre se vado da b.php ad a.php perdo quel valore... Come posso risolvere ?
Ciao e grazie dell'aiuto,ho un problema con il passaggio di valori. Quando passo da a.php a b.php il valore della variabile che mi interessa si conserva, mentre se vado da b.php ad a.php perdo quel valore... Come posso risolvere ?
Chiarisci a cosa ti stai riferendo: il passaggio di variabili di solito si fa verso una funzione, tu stai facendo qualcosa di inusuale con dei file... Prova a mostrare un esempio.
da una pagina a.php attraverso l'url leggo il valore di una variabile con il get,questo valore lo salvo in una variabile di sessione. Attraverso la sessione mi vado a leggere il valore nella pagina b.php e fin qui funziona. Il problema è quando da b.php devo andare ad a.php perchè la pagina a.php come prima istruzione ha il get proveniente da un'altra pagina
Il problema, se vogliamo, è di natura architetturale: tu hai due pagine, A.php e B.php; per funzionare entrambe hanno bisogno di leggere un valore dall'URL (e/o dalla sessione). Entrambe hanno dunque una dipendenza comune.
Senza avere ulteriori specifiche, suggerisco di creare un terzo file, C.php, che legga il/i valore/i dall'URL e li memorizzi nella sessione. A.php e B.php includeranno questo nuovo file.
Ovviamente la lettura del valore in A.php diventa così superflua e può essere rimossa.
Nota: Così facendo stai usando la sessione come uno stato globale, a seconda dei casi potrebbe non essere una buona idea ma, appunto, dipende dal problema specifico che ti interessa risolvere. Un'alternativa potrebbe essere incapsulare la lettura dall'URL in una funzione.
Esempio:
A.php
B.phpCodice PHP:
include "C.php";
$my_var = $_SESSION['my_value'];
do_somethingA($my_var);
C.phpCodice PHP:
include "C.php";
$my_var = $_SESSION['my_value'];
do_somethingB($my_var);
Codice PHP:
session_start();
$my_var = isset($_GET['my_value']) ? $_GET['my_value'] : null;
$_SESSION['my_value'] = $my_var;
proverò
a cosa serve do_somethingA ?
Nulla di speciale, è un nome di funzione che ho inventato per scrivere un esempio. Sostituisci i do_something con il tuo codice.