Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Doppio click su submit

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Doppio click su submit

    Ho una form dove mi sono resa conto che se faccio un doppio click sul submit faccio un doppio insert. Ho modo di bloccare questa cosa senza uso di javascript?
    Di fatto uso già js per verificare i campi inseriti (cosa che poi faccio anche in php), ma per questa cosa mi sarebbe piaciuto evitare.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    L'unica cosa da fare è di controllare che non ci sia il record nella tabella prima di fare l'insert.
    È una base della programmazione.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Hai un esempio?
    Perchè non è difficile che i dati "princpali" siano identici ad altri o che l'ultimo record si differenzi solo per uno dei 20 campi della tabella e mi verrebbe un po' dura fare una verifica.

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Tutto dipende dai tuoi dati e dalla struttura della tabella.
    Esempio. Se 2 utenti inseriscono gli stessi dati è un doppione oppure no ?
    Se lo stesso utente inserisce gli stessi dopo un certo intervallo di tempo è un doppione oppure no ?
    Se ti rendi conto che c'è un doppione allora il metodo ce l'hai già.

    Dopo dell' insert puoi ridirigere l'utente verso una pagina diversa oppure ristampare a video la form vuota.
    Pero' il controllo prima dell'inserimento deve essere fatto.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Nel mio caso è un doppione se lo stesso utente inserisce le stesse cose nel giro di pochi secondi.
    Nel momento in cui un utente inserisce un dato viene già redirezionato ad un'altra pagina (salvo errori) però appunto se uno mi fa il doppio click accade che si inserisce il primo dato, non vi è tempo di fare il redirect che inserisce il secondo e fa il redirect.

  6. #6
    se usi delle chiavi univoce potresti anche usare istruzioni tipo INSERT IGNORE o ON DUPLICATE KEY.
    ma anche qui, dipende da come è strutturata la tabella.

  7. #7
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Ri-grazie.
    Si uso chiavi univoce ma in fase di insert le crea mysql e quindi sono diverse.

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi disabiliate il bottone submit al momento dello submit.
    Lo submit lo fai in maniera normale o con jquery?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Submit standard.
    Ma se hai un esempio sono curiosa di vederli entrambi.
    Grazie

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    fallo con PHP, hai due metodi:
    - metti in sessione il valore del timestamp al momento del click
    - passa sempre un token nel form e in sessione

    qui ci sono alcuni esempi: https://stackoverflow.com/questions/...-a-form-in-php

Tag per questa discussione

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.