Ciao,
vi spiego la situazione. Ho un form che invia i dati ad uno script di nome mail.php . Questo script deve salvare i dati in un file e poi chiamare un secondo form: una volta riempito, mail2.php prende i dati del file di prima + quelli appena inseriti e li manda per email. Solo che il nome del file deve cambiare in continuazione altrimenti se due utenti stanno riempiendo i moduli contemporaneamente il file viene sovrascritto e si incasinano i dati. Quindi ho fatto questo
--- mail.php ---
session_start();
$_SESSION['numero'] = 1 + rand() % 100;
session_write_close();
$filename = "temp" . $_SESSION['numero'] . ".txt";
// apro il file in scrittura e ci scrivo i dati...
-----
--- mail2.php ---
session_start();
$filename = "temp" . $_SESSION['numero'] . ".txt";
// leggo i dati dal file
--------------
Ecco cosa mi succede: l'utente 1 riempie il form e mail.php genera ad ex. il numero 34 creando temp34.txt . L'utente 2 intanto riempie il form e mail.php genera 25 creando temp25.txt. Quando l'utente 1 invoca mail2.php, in $_SESSION['numero'] c'è 25 e quindi vengono letti i dati relativi al secondo utente. Anche altre soluzioni (tipo session_register() o altri espedienti) presentano lo stesso problema. L'array di sessione non dovrebbe essere unico per ogni sessione?!
Dove sbaglio? Che suggerimenti potete darmi?
Grazie dell'attenzione,
shainer
vi spiego la situazione. Ho un form che invia i dati ad uno script di nome mail.php . Questo script deve salvare i dati in un file e poi chiamare un secondo form: una volta riempito, mail2.php prende i dati del file di prima + quelli appena inseriti e li manda per email. Solo che il nome del file deve cambiare in continuazione altrimenti se due utenti stanno riempiendo i moduli contemporaneamente il file viene sovrascritto e si incasinano i dati. Quindi ho fatto questo
--- mail.php ---
session_start();
$_SESSION['numero'] = 1 + rand() % 100;
session_write_close();
$filename = "temp" . $_SESSION['numero'] . ".txt";
// apro il file in scrittura e ci scrivo i dati...
-----
--- mail2.php ---
session_start();
$filename = "temp" . $_SESSION['numero'] . ".txt";
// leggo i dati dal file
--------------
Ecco cosa mi succede: l'utente 1 riempie il form e mail.php genera ad ex. il numero 34 creando temp34.txt . L'utente 2 intanto riempie il form e mail.php genera 25 creando temp25.txt. Quando l'utente 1 invoca mail2.php, in $_SESSION['numero'] c'è 25 e quindi vengono letti i dati relativi al secondo utente. Anche altre soluzioni (tipo session_register() o altri espedienti) presentano lo stesso problema. L'array di sessione non dovrebbe essere unico per ogni sessione?!
Dove sbaglio? Che suggerimenti potete darmi?
Grazie dell'attenzione,
shainer