Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Riinvio di dati di un form

    Ho un problema banale che in passato ho risolto ma non ricordo come (sono andato un pò in tilt).
    Ho una form in pag1.php che invia i dati a , diciamo, pag2.php.
    In pag2 che riceve i vari $HTTP_POST_VARS[ecc.] i dati ricevuti vengono inseriti in un db tramite insert......
    Tutto va ben , ma se io faccio il refresh di pag2 gli stessi dati vengono nuovamente inseriti in una nuova riga.
    Come eviare ciò?
    Grazie
    pierogemin
    -------------
    -InterNET
    +CaberNET

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    45
    Prima di eseguire la query , controlli che $HTTP_POST_VARS[''] sia settato ... se settato OK altrimenti mandi l'errore.

    Devi però ricordarti che dopo la query ( eseguita con successo ) devi 'svuotare' $HTTP_POST_VARS[''].

  3. #3
    Ti ringrazio ma.... Non accade nulla.
    Questa è la porzione di codice:
    if(isset($HTTP_POST_VARS["topic_title"])):
    $topic_title=$HTTP_POST_VARS["topic_title"];

    $sql ="INSERT INTO forum_topic set topic_title='$topic_title',cat_name='$cat',author_ name='$poster_name'";
    $result=mysql_query($sql);
    endif;
    //if($result):
    unset ($HTTP_POST_VARS["topic_title"],$topic_title);
    //endif;
    pierogemin
    -------------
    -InterNET
    +CaberNET

  4. #4
    io ho lo stesso problema: ho un form che invia dei dati al database, visto che ci mette molto tempo un utente potrebbe anche cliccare + volte e così aggiungere 2 volte la stessa cosa? Come posso fare? Devo x forza ricorrere a Javascript per disabilitare l'invio alla seconda pressione del tasto?
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Secondo me hai 2 possibilità.

    La prima :
    Testare che i valori non siano già stati inseriti.

    La seconda :
    La prima + un header("location:http://la_pagina_dove_devi_tornare")
    Ma in questo caso non devi avere nessuna riga e nessun spazio prima del <? o <?php.

  6. #6
    la seconda mi sembra un po' strana... non l'ho capita, cioé non capisco perché dovrei redirectare ad un'altra pagina...
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  7. #7
    Ho risolto il problema , ma senza scomodare gli headers:
    Da pag1 anzichè inviare il form a pag2 lo invio ad una pagina intermedia, la quale a sua volta effettua l' update del database e ,se la query ha avuto successo, reindirizza con location a pag2.
    Tutto sommato penso sia il sistema utilizzato dal forum di HTML.it che, quando invii un post non lo inserisce direttamente ma ti fa passare per la pagina dei ringraziamenti.
    pierogemin
    -------------
    -InterNET
    +CaberNET

  8. #8
    ciao ragazzi io ho lo stesso tipo di problema
    ho fatto un insert ma ogni volta che refresho la pagina l'insert viene ripetuto..... VVoVe:
    ma non ho mica capito come posso risolvere ?!?!?!



    la pagina invia i dati del form a se stessa

    grazie dell'aiuto
    aiutooooooooooooooooooooooooooooo

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prendi l'esempio di questo forum. Se inserisci una risposta ad un thread non ti rimanda sulla pagina dove hai scritto il messaggio ma su un'altra pagina !!!!

  10. #10
    Vorrei aggiungere che la pagina "intermedia" può essere resa invisibile dandole (tramite Jscript) dimensioni nulle.
    Questo perchè ,se l'utente fa un refresh di quella intermedia, il problema permane.
    pierogemin
    -------------
    -InterNET
    +CaberNET

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 © 2024 vBulletin Solutions, Inc. All rights reserved.