Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509

    [php]evitsre il reinvio con aggiorna?

    aiuto
    quei maligni dei miai amici si divertono ad intasarmi il db cliccando il tasto aggiorna dopo che hanno inviato i dati. come posso fare?
    al momento dopo l'inserimento faccio vedere i dati inseriti...mi viene in mente ora che la richiesta di stamap a video è nella stessa pagina di quella di invio....se lo sposto in un altro file e richiamo quello risolvo qualcosa?
    grazie.
    se l'ho azzeccata so propio bravo
    altrimenti scivolo

  2. #2
    Prima soluzione pestare gli amici.
    Seconda soluzione inibire per un periodo di tempo le query ad utente. Per esempio:
    effettui la query
    scrivi un cookie (o meglio ancora memorizzi il suo ip) sul pc dell'utente
    per 30 o 60 secondi inibisci le query agli utenti che hanno questo cookie oppure il cui ip è memorizzato

    Ed hai risolto il problema!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    hem..ok non so fare i cookie...vabhe mi invento come farli ..su qualche libro dovrei trovare qualcosa

  4. #4
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    228
    Originariamente inviato da nexus
    hem..ok non so fare i cookie...vabhe mi invento come farli ..su qualche libro dovrei trovare qualcosa
    sinceramente oltre a capire che ti incasinano il sito nn ho capito niente altro



    che pagina è e a che serve?? posta il codice se puoi

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Io di solito faccio così: non mostro mai sul browser la pagina che fa l'aggiornamento del database.
    Dopo avere fatto le operazioni, faccio un redirect ad una pagina di visualizzazione. In questo modo, in genere, il tasto aggiorna non riesegue gli aggiornamenti.

  6. #6
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    228
    Originariamente inviato da luca200
    Io di solito faccio così: non mostro mai sul browser la pagina che fa l'aggiornamento del database.
    Dopo avere fatto le operazioni, faccio un redirect ad una pagina di visualizzazione. In questo modo, in genere, il tasto aggiorna non riesegue gli aggiornamenti.

    beh se nn la mostri come fanno ad intasarti il database???

    kmq probabilmente si mi sa che ti conviene usare i cookie
    imposti un cookie la sua validita per un paio di minuti e e poi metti in ogni pagina la letture del cookie e se il cookie è impostato e valido allora nn gli fai postare le info

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da ildero
    beh se nn la mostri come fanno ad intasarti il database???
    sveglia...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    codice:
    <?php
    
    include "db.php";
    
    $sqlquery= ("INSERT INTO sell (rif, surname, name, phone, mail) VALUES ('','$surname','$name','$phone','$mail')");
    
    if (mysql_query($sqlquery,$connection))
    { 
    	$query="SELECT rif FROM `sell` LIMIT 0 , 30";
    	$result = mysql_query($query, $connection);
    	$row = mysql_fetch_array($result);
    echo "Grazie </br>"."i tuoi dati sono: "."$rif
    "; 
    echo "$surname</br>"."$name</br>"."$phone</br>"."$mail";
    	
    }
    else { 
    echo (" Impossibile inserire i dati, si prega di riprovare piu' tardi".mysql_error()."errore numero".mysql_errno()); 
    } 
    ?>
    ho messo solo una parte perche se no è lungo..ma il succo è questo.
    ma probabilmente basta che anzichè far visualizzare il tutto li. gli butto su un
    codice:
    header("location: wiev.php")

  9. #9
    una volta fatta la query crea una sessione.
    poi all'inizio della pagina fai un controllo che se esiste la sessione forzi un redirect con la funzione header.
    Vincenzo Miele

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    ho provato a fare un semplice redirect con la funzione header
    -risolto:
    con un refresh non vengono reinviati i dati

    -problema:
    non mi manda a video i dati(la sessione serviva anche a questo?)
    se premo indietro sulla barra di explorer, i dati rimangono ed è possibile reinviare comunque tutto

    sono molto a secco di sessioni, mi potreste dare un input iniziale?
    grazie.

    ps. avevo provato a guardare la pillola su questo problema ma li è necessario mettere in eredoc il form..e non credo di esserne in grado

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.