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

    [PHP] Sessioni e pulsante back

    Sto realizzando un'applicazione in PHP+postgreSQL. Nella parte in cui i dati vengono inseriti nel database mi si presentano alcuni problemini:
    - A sessione avviata, nella maggior parte delle pagine (ma in alcune si' ) premendo il pulsante Back del browser non riesco a tornare alla pagina precedente. Pensavo di ovviare a questo problema inserendo un pulsante/link che mi mandi alla pagina precedente portandosi anche l'id di sessione, tantopiu' che quando devo far tornare l'utente indietro ad una pagina con un form da riempire perche' ha inserito dei dati in maniera errata vorrei che il form fosse gia' riempito con i dati di prima.

    -Altro problema. Per qualsiasi inserimento che vado a fare la struttura dell'applicazione e' questa:

    FORM da completare --> Verifica dei dati inseriti, se sono corretti riepilogo e pulsante "Conferma" --> Pagina di inserimento che scrive nel DB

    Mi scuso per la spiegazione confusa, ma spero che qualcuno riesca a darmi una mano!

    Tutti i dati che poi vengono inseriti me li porto dietro all'interno della sessione. Ma se alla fine della pagina inserimento non svuoto uno ad uno tutti i dati che ho inserito se l'utente ricarica la pagina vengono inseriti nuovamente. Puo' essere una soluzione sensata quella di assegnare nella pagina di conferma una variabile tipo
    Codice PHP:
    $_SESSION['nuovo_inserimento']=true
    e poi controllare: se c'e' e settata a vero faccio l'inserimento, altrimenti non faccio nulla. Alla fine dell'inserimento nel DB svuoto la sessione con
    Codice PHP:
    $_SESSION=array(); 
    Mi scuso per la spiegazione confusa, e spero che qualcuno mi possa aiutare!
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  2. #2
    up
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    per il "discorso form" esistono 2 metodi (che io sappia), ma non sono neanche sicuro..
    Il primo, quello + macchinoso, è quello di tenere i dati in sessione e ogni volta che disegni il form controllare se esistono le risposte e riproporle (ad esempio sui campi di testo)
    codice:
    echo '<input type="text" nome="cognome" value="'.$_SESSION['cognome'].'">';
    Il secondo sinceramente non l'ho mai usato, ma so che si può giocare con la cache degli header della pagina.

    Per il secondo problema invece, io farei semplicemente l'unset della sessione che non ti serve +.
    Ad esempio se stai curando un ecommerce metti tutti i prodotti acquistati in $_SESSION['carrello'], e alla fine unsetti il carrello con
    unset($_SESSION['carrello']);

    spero di esserti stato utile

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.