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

    refresh pagina duplicazione dati db non funge

    Ho cercato di adattare qusta pillola ai miei scopi

    http://forum.html.it/forum/showthrea...cord+duplicati

    Codice PHP:

        
    isset($_SESSION['check'])  ?  $check =  $_SESSION['check']  :  $check '';

    if(
    $check === MD5(serialize($_POST)) ) 
                          
    $msg "
    Dati gia immessi - ciao ciao"
    ;
                          
    //exit;
                     
    else {

                    
    //$_POST['select_proprietario'] = mysql_query("SELECT idproprietario FROM proprietario WHERE(");                                                            )"
                    
    $_POST['insert_proprietario'] = mysql_query("INSERT INTO...");
     
    $num mysql_affected_rows();

                           
    // Se la riga e' inserita mandiamo un avviso e settiamo l'hash
                           // nell'array di sessione. Oppure avvisiamo del fallimento.
                           // in questo ultimo caso notate che l'hash non viene prodotto e
                           // che ripresentiamo comunque il form in entrambi i casi.

                           
    if($num == 1)  {
                               
    $msg "
    Dati inseriti
    "
    ;
                               
    $_SESSION['check'] = MD5(serialize($_POST));
                               
    //exit;
                           
    }
                           else  
                              
    $msg =  "
    Dati NON inseriti - Riprova"
    ;
                     } 
    ma non funge...
    inserisce sempre i dati...

    Un'altra cosa?
    cosa fa
    if($check === MD5(serialize($_POST)) )

    ?

    ciao
    Trinity
    http://www.vocabolariodidio.it
    http://www.giulianodelena.com
    trova la tua casa per le vacanze
    http://www.salento.lecce.it

  2. #2
    Ma session_start() lo metti?

    if($check === MD5(serialize($_POST)) )

    questa riga e' quella che decide se i dati sono gia' stati inseriti oppure no.

    In $check trovi il contenuto serializzato prelevato dalla variabile di sessione $_SESSION['check'] che e' stato valorizzato se l'insert ha avuto buon esito con l'intero contenuto di $_POST.

    Se $check fosse vuoto significherebbe che la variabile di sessione o non c'e' oppure e' vuota. In questo caso si possono mettere i dati. Se invece il contenuto di POST fosse non solo uguale, ma identico (===) l'inserimento viene skippato.

    ma mi pare che lo script nella pillola sia dettagliatamente commentato...


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

  3. #3
    codice:
    $_POST['insert_proprietario'] = mysql_query("INSERT INTO..."); 
     $num = mysql_affected_rows();
    certo che se scrivi dentro al POST questo sara' sicuramente diverso da quello entrante dal refresh e quindi sara' di fatto un record valido da inserire.

    ... confronta un po' con lo script della pillola...

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

  4. #4
    [supersaibal]Originariamente inviato da piero.mac
    codice:
    $_POST['insert_proprietario'] = mysql_query("INSERT INTO..."); 
     $num = mysql_affected_rows();
    certo che se scrivi dentro al POST questo sara' sicuramente diverso da quello entrante dal refresh e quindi sara' di fatto un record valido da inserire.

    ... confronta un po' con lo script della pillola... [/supersaibal]
    Era proprio questo l'errore...


    Grazie
    Ciao
    Trinity
    http://www.vocabolariodidio.it
    http://www.giulianodelena.com
    trova la tua casa per le vacanze
    http://www.salento.lecce.it

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.