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

    Il contrario di $_POST :)

    Quando io clicco un pulsante posso in un altra pagina rikiamarmi con $_POST il nome del pulsante e determinare se è stato premuto o meno, ora la domanda è:

    Posso liberare dalla memoria il contenuto di quel $_POST?

    Mi spiego, se io avessi un unica pagina con un campo text e un tasto aggiungi un form che punta alla pagina stessa e un controllo con $_POST sul tasto, ora cosa ottengo:-- sicuramente ke quando clicco sul tasto "aggiungi" il contenuto del modulo text viene aggiunto nel database ma se per caso dovessi cliccare aggiorna dal browser , questa voce viene reiserita perke ha ancora memorizzato il post precedente premto.Come devo fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    al tasto che non devi controllare non impostare il valore di name.
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  4. #4
    Ciao,

    non ho ben capito la questione del tasto...direi che il problema principale riguarda il refresh del browser e il doppio post

    Una soluzione rapida è quella di effettuare un redirect subito dopo l'inserimento quindi

    1) invio del form
    2) inserimento
    3) header location -> reindirizzamento ad altra pagina o a stessa pagina

    Anche in questo caso, un utonto ostinato potrebbe però cliccare il tasto "indietro" del browser e fare un refresh, vanificando i tuoi sforzi.

    Un altra soluzione è mettere un identificativo univoco in un campo hidden del form e poi metterlo in sessione all'invio, tu al momento dell'eventuale refresh controlli la sessione....e se contiene già quell'identificativo non effettui l'inserimento.

    La sessione però potrebbe scadere: l'utente potrebbe andare in bagno, lasciare il browser sulla pagina di risultato (dopo l'invio), leggersi Playboy, e tornare dopo una mezz'oretta...poi che fa? Aggiorna ovviamente!

    E' un caso raro, quasi impossibile a dire il vero (dipende dalla configurazione dei cookie di sessione), ma la sessione potrebbe essere scaduta e il controllo non funzionerebbe.

    Un altro metodo potrebbe essere quello di tenere nel db una tabella provvisoria degli invii, nella quale memorizzare il codice univoco...prima di ogni inserimento controllo la tabella (come farei con la sessione) e decido se effettuare l'invio o no. Di tanto in tanto ripulirò la tabella dagli invii meno recenti.

    Questo metodo è un po' paranoico ma è l'unico sicuro al 100%.

    Personalmente utilizzo il reindirizzamento + il controllo sulla sessione
    per favore NIENTE PVT TECNICI da sconosciuti

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.