Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema con _POST

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    129

    Problema con _POST

    ciao a tutti ho un problema con _POST, mi sarebbe utile modificarne i valori senza il reinvio dei dati attraverso un modulo.

    ad esempio con:
    $_POST['0'] = "test";

    apparentemente assegno un nuovo valore, ma! eseguendo il refresh sul browser ricompare il valore originario inviato tramite modulo, c'è una soluzione o è sbagliata l'impostazione generale?

  2. #2
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    L'impostazione è giusta, ma se fai un refresh il browser re-invia i dati vecchi...

    [.:: JaguarXF ::.]
    __________________

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    129
    non ci sono soluzioni alternative?
    In sintesi ho questo problema:

    switch($azione)
    {
    case "scrivi_dati_sul_db":
    scrivi();
    break;
    case "mostra_solo_risultato":
    mostra();
    break;
    }

    Se non modifico il valore _POST['azione'] inviato tramite modulo ad ogni refresh del browser verranno riscritti i dati sul db.

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Hai provato a mettere alla fine dell'esecuzione unset($variabile);? prova a distruggerla e vedi che succede.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    129
    la funzione unset() su _POST è efficace solo fino a quando non viene eseguito il refresh sulla pagina, fatto questo vengono richiamati i valori originari

  6. #6
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da hhchnos

    Se non modifico il valore _POST['azione'] inviato tramite modulo ad ogni refresh del browser verranno riscritti i dati sul db.
    Principalmente in un'applicazione Web dovresti prevedere tu un tasto aggiorna e non permettere che l'utente schiacchi ciò che vuole;
    secondariamente puoi inserire un bel flag da qualche parte nel db - te la giochi tu qui per il dove/come/quando - che, se già settato per quell'utente in quel caso etc etc non permette altre scritture su db..

    PHP non può fare giochini se ogni volta il browser stesso gli ripassa gli stessi POST in HTTP...

    [.:: JaguarXF ::.]
    __________________

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    129
    il problema principale è evitare pasticci dati dal refresh accidentale di un utente sul browser (refresh che ovviamente non è possibile impedire), per quanto riguarda i flags sul db pare per ora essere l'unica soluzione possibile anche se cercherò un modo meno "invasivo" per aggirare il problema, intanto: tanks mark2x!!

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.