Visualizzazione dei risultati da 1 a 8 su 8

Discussione: pulsante "indietro"

  1. #1

    pulsante "indietro"

    Ciao a tutti, è possibile non consentire al browser di poter usare il tasto "Indietro"? Perchè in un piccolo guestbook che sto facendo, se dopo aver compilato il form si torna indietro e si clicca di nuovo su "Invia il messaggio", la query al db viene eseguita di nuovo!
    Grazie mille

  2. #2
    Scusami so di essere ignorante visto che non ho mai usato un guestbook e non ho idea di come funzioni, però se nel database registra qualche dato come ad esempio nome o indirizzo mail ecc non puoi fare un controllo del tipo se è gia stato inserito non rieseguire?? oppure potresti integrare con una richiesta di inserimento da parte dell'utente ad esempio come in molti forum le lettere da inserire per il controllo (basta integrare uno script) oppure ad esempio metti quanto fa 1+1 e devi dare da input la risposta cosi l'utente deve ricompilare per poter rinviare il form

    Se ho detto cavolate scusami e buon natale

  3. #3
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Ovviamente non puoi disattivare il tasto indietro del browser. Ma ci sono tecniche che permettono di evitare che l'utente faccia danni andando su una pagina indietro.
    Per un guestbook io non mi preoccuperei piu' di tanto, aggiungerei semplimente un controllo temporale, es.
    if(utente_ha_gia_postato() && lo_ha_fatto_negli_ultimi_3_min()){ //errore }

    Per applicazioni critiche, shopping con inserimento di numeri di carte di credito o roba cmq sensibile, c'e' una serie di procedure da fare, disabilitare complettamente il cache della pagina con il post, tenere in sessione un stack seriale delle pagine e verificare su ognuna se ha un progressivo corretto, etc.

  4. #4
    Ok mi sembra che il post ogni 2-3 minuti sia sufficiente..hai idee su come si fa?
    Grazie mille di tutte le risposte!

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Beh, quando salvi il messaggio nel database, suppongo salvi come minimo nominativo, testo, data.

    Non ti resta che aggiungere un controllo prima del salvataggio. Fai una query con il nominativo che ti arriva. Guarda se c'e' nel db. E se c'e' - guarda se la data del suo ultimo messaggio e' entro i 2 min. E anche se questo suo messaggio e' uguale al nuovo. Se tutte le condizioni si verificano, si tratta di dati postati 2 volte, gli mostri un avviso e lo mandi all'indice del guestbook.

  6. #6
    Si io salvo nickname, email(la tengo solo nel db), testo e data..ma se cambia nickname?

  7. #7
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Se cambia nickname significa che non ha cliccato sul pulsante indietro riinviandoti per errore gli stessi dati.. Significa che lo fa deliberatamente.

  8. #8
    Ok, in ogni caso il guestbook è controllato..grazie mille!

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.