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

    Refresh dopo inserimento dati in database

    Un ciao a tutti... quelli bravi in php...
    Ho un piccolo problemino...
    effettuo in una pagina l'inserimento dati in un database con la solita query e quindi faccio apparire un messaggio di conferma:

    INSERT INTO tb_articolo
    (dato)
    VALUES('$dato')";

    if (!mysql_query($query, $db))
    {
    print ("ATTENZIONE, impossibile inserire il record");
    }
    else
    {
    print "FATTO!";
    }

    Ok... ma se l'utente fa un refresh della pagina, si ricarica la query e quindi mi fa un doppio inserimento.
    Come evitarlo.

    grazie

  2. #2
    http://forum.html.it/forum/showthrea...64#post7161564

    dai un'occhiata a questo post.

    Un mezzo pulito sarebbe anche di rimandare ad una pagina terza che si occupi di fare un redirect alla pagina iniziale.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Un consiglio.. ho letto velocemente il post che mi hai indicato e mi è venuto in mente una cosa...

    Ma se io inserisco nel form un campo hidden con nome="update" valorizzato="1" quindo lo invio alla pagina successiva che fa la query, ma prima faccio un controllo e gli dico:

    if ($update == 1){mi fai la query}else{non puoi}

    alla fine della pagina rivalorizzo la variabile nome="update" con valore="0".

    In questo modo anche se si fa un refresh della pagina ormai la variabile è valorizzata a 0 e quindi nel controllo non mi fa la query?

    Potrebbe essere una soluzione?

  4. #4
    ho detto una cazz...ta ricarca sempre i stessi valori del form inviato e quindi anche la update valorizzato a 1...

    Li mando in un'altra pagina... grazie

  5. #5
    No. nel refresh la variabile viene cancellata e viene rilanciato il contenuto precedente di POST o GET che fossero.

    potresti farlo passando la variabile in $_SESSION, cioe' utilizzando le sessioni.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.