Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    [esperti] gestione form

    Ciao a tutti, mi piacerebbe fare qualche considerazione con voi a riguardo dell'utilizzo in ASP dei dati inseriti nei form, del loro controllo e della loro interazione coi dati di un database.

    In pratica vorrei analizzare le situazioni in cui un utente si ritrova a gestire dei dati di un sito mediante form, ed esegue navigazioni mediante i tasti del browser invece di usare i link o i pulsanti nelle pagine. In questo caso succede che l'utente, arrivando in una pagina precedentemente caricata, possa eseguire nuovamente una modifica oppure un inserimento sul database. Come fate per evitare questi inutili accessi al DB?

  2. #2
    In genere utilizzo due sistemi.

    1. nel file di configurazione dell'applicazione, che finisce nell'intestazione delle pagine di front-end, uso:

    Response.Buffer = True
    Response.Expires = 0

    in modo da gestire la cache;

    2. controllo che i dati inseriti esistano giò o meno e, in caso di dati complessi (molti campi) imposto un cookie o un controllo sulla data di un minuto o giù di li, i modo da bloccare una nuova ripetizione a breve termine di dati identici, probabilmente presi dalla cache navigando col browser.

    Sei stato un po generico comunque... magari fammi capire l'esigenza specifica.

    Ciao!

  3. #3
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    In effetti gli argomenti che mi piacerebbe confrontare sono più d'uno.
    Ad esempio partiamo dal fatto di avere un form che l'utente deve riempire, e poi dev'essere controllato. Fate tutto con la stessa pagina oppure usate un'altra pagina asp?

    Io di solito faccio così: una PaginaForm, che distingue il caso di inserimento, di modifica dati (nel qual caso li carica dal DB), il caso di correzione di dati inseriti (i dati arrivano da variabili di sessione cancellate appena i dati vengono recuperati). Poi il pulsante di submit rimanda ad una pagina ASP senza output che controlla i dati: se tutto va bene, vengono eseguite le operazioni sul DB e poi un redirect ad una pagina di conferma; se invece ci sono errori vengono i dati vengono rimandati con variabili di sessione a PaginaForm insieme ai messaggi di errore. In questo modo anche scorrendo le pagine visitate non ci sono mai esecuzioni ripetute delle operazioni sul DB, perchè il browser non tiene traccia delle pagine ASP senza output.

    Volevo intanto un giudizio su questo metodo, sapere se si può migliorare oppure c'è altro di analogo ma magari più semplice...

  4. #4
    usare una sola pagina non è sbagliato, ma vai incontro ad eccezioni ed a casini in generale

    usare più file non è sbagliato, anche se agli occhi di molti può sembrare un virtuosismo mancato quindi "non sei bravo"

    e che te frega?

    esempio stupido:

    email.html - contiene il modulo
    email.asp - controlla ed invia la mail
    errore.html - da il messaggio di errore
    conferma.html - da la conferma di invio

  5. #5
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Non mi interessano quel tipo di giudizi...
    Quello che mi interessava era sapere quali altre soluzioni avete pensato, e il loro funzionamento...
    Il tuo esempio è semplice, però, nel caso dopo un po' di tempo si ritorni col browser sulle stesse pagine col tasto indietro, le operazioni sul database vengono comunque eseguite... nel caso in un'altra finestra sono stati effettuati aggiornamenti, verrebbero vanificati dal ritorno indietro del browser...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.