Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Redirect inside

  1. #1
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031

    Redirect inside

    Sì, lo so, ci sono centinaia di thread al riguardo... infatti ho fatto una ricerca e mi pare di aver capito che il problema della "direttiva" (passatemi il termine) header sia che vada prima di qualsiasi altra istruzione tipo post, session e simili. Ma non mi è chiaro, una volta messa in cima al documento, come potrei richiamarla. Seguendo lo stesso iter di una funzione?
    Se vi chiedete quale sia il mio problema è la solita insert che premendo F5 continua a replicarsi a causa degli array post settati... quindi necessito di un redirect che me li svuoti (oppure esiste un modo per svuotarli senza fare un redirect?)


    Alla fine ho comunque risolto la questione sfruttando il js...



    ma mi sarebbe piaciuto capire come far funzionare la cosa in php. Sia usando un redirect o svuotando $_post

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Il redirect con header("Location: $path") avviene, se corretto, in automatico appena viene letta la funzione.
    Però forse non ho capito bene la tua domanda.

  3. #3
    puoi sempre mettere un check dopo l'inserimento da aggiungere all'array di sessione... oppure fai un MD5() sul contenuto di $_POST.... come avevo prospettato in una pillola.

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

    nel caso tu adotti un check del tipo... puoi fare:


    dopo la query insert ... esito ok.

    $_SESSION['insert'] = 'fatto';

    al rientro nella pagina controlli se $_SESSION['insert'] == 'fatto' fai un header location alla home. Ovviamente nella home dovrai rimuovere la flag "fatto" ...

    codice:
    home.php
    
    <?php
    session_start();
    if(isset($_SESSION['insert']) ) {
    
      unset($_SESSION['insert']);
    
    }

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

  4. #4
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    @piero.mac: quindi potrei fare allo stesso modo un unset($_POST)?

    Il redirect con header("Location: $path") avviene, se corretto, in automatico appena viene letta la funzione.
    Però forse non ho capito bene la tua domanda.
    E' quello che credevo, ma mi restituisce il classico errore di header already sent

  5. #5
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Infatti ho specificato se corretto un header DEVE essere inviato prima di qualsiasi output verso il client che sia un echo, che sia del codice HTML o anche un semplice spazio bianco.

  6. #6
    Originariamente inviato da Lak3d
    @piero.mac: quindi potrei fare allo stesso modo un unset($_POST)?
    non servirebbe a nulla visto che i dati arriveranno dal client. $_SESSION lo gestisci tu lato server.

    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.