Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100

    Evento alla chiusura della pagina->Svuotare value in session

    Lavorando con php, ho la necessità di svuotare una variabile nella session, quando l'utente lascia la pagina(solo una variabile, non tutto l'array session). Avevo pensato di agire tramite chiamata asincrona, sfruttando gli handler javascript onunload(o anche tramite jquery) ma purtroppo noto che tale tecnica non è cross browser.

    Qualche aiuto? In .net c'è il simpatico viewstate, che offre esattamente cio che serve a me, ovvero delle variabili valide solo all'interno della pagina, in php non mi pare esista qualcosa di simile(a patto di non doverlo implementarlo da zero)

    Non mi pare un'idea pulita poi, mettere un controllo in tutte le altre pagine, "se presente tale value nella session, cancellalo".

    Volendo, andrebbe bene anche qualcosa di temporizzato, ovvero una volta eseguito lo script php, crea un ipotetico thread che dopo N secondi, compie il lavoro della cancellazione

  2. #2
    delle variabili valide solo all'interno della pagina
    Se ti serve solo questo va bene una normale variabile PHP... la dichiari una volta, esegui lo script, tempo di renderizzare la pagina ed e` gia` sparita

    Dipende molto da cosa devi fare esattamente

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100
    Nella pagina eseguo varie chiamate post alla pagina stessa, in modo tale da passarmi un certo valore selezionato dalle combobox, e in base a tale valore, modifico il flusso del codice.

    Purtroppo serve qualcosa di persistente(come una session) all'interno di una singola pagina. Avevo pensato ad una variabile(che poi sarebbe un array di oggetti) posta nella array $_POST per passare ogni volta i dati bufferizati...ma non mi sembra molto elegante come soluzione..

  4. #4
    Continuo a non capire cosa stai cercando di fare... sarebbe utile sapere dove vuoi arrivare

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100
    Spiego nel dettaglio: ho una combobox(popolata con una decina di elementi), dal quale l'utente seleziona un valore, che diventa l'argomento della clausola where in una query sql. Viene restituita una tabella e visualizzata a schermo. L'utente puo poi prendere un'altro valore dalla combobox, scatenare un handler javascript ricaricando la pagina, e passando in $_POST il value della combobox. Su questo value, viene effettuata una query sql.

    Capiterà sicuramente che un utente selezionerà in una delle n volte che ci prova, lo stesso value dalla combobox. Io voglio bufferizzare i risultati relativi a quel value(tabella restituita da query sql) in modo da ridurre i numeri delle chiamate a db, sfruttando i dati bufferizzati.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100
    Nessuna risposta?

  7. #7
    Ti serve di fare questo per ragioni di performance o cosa?

    Potresti provare a creare una vista su MySQL

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100
    "Se torna sulla pagina in seguito non potrebbe essere comodo avere ancora in sessione i recordset?"

    No, purtroppo è una pagina a se stante, tra le tante pagine del sito

    Il tutto serve comunque per ragioni di performance...per evitare di sovraccaricare il DB con le query

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.