Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    comportamento strano delle sessioni

    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

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Ad occhio e croce mi viene da sospettare del tuo modo di testare lo script.
    Sicuro che i due utenti non usino la stessa sessione? Perché sembrerebbe proprio così.

    In ogni caso non capisco perché fare tutto questo casino invece di salvare direttamente i dati che ti interessano in sessione. A che ti serve scriverli su un altro file?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.