Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121

    Messaggio di avvenuta registrazione

    Ciao a tutti...
    vorrei chiedervi come ovviare ad un 'problema'....
    allora ho un form in una pagina form.php... una volta cliccato su invia tutti i dati finiscono alla pagina registraform.php (tramite post)...
    una volta che i dati sono stati registrati correttamente sul DB stampo un msg di successo...
    e qui nasce il problema... se l'utente aggiorna la pagina (registraform.php) viene rieffettuata l'operazione di registrazione... cosa non giusta... anzi sbagliatissima...
    come posso ovviare a questo problema???
    grazie a tutti...

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    116
    potresti mettere un reindirizzamento alla home per esempio, una volta avvenuta la registrazione io una volta usavo questo
    Codice PHP:
    header("Refresh: 5; URL=home.php"); 
    dove 5 sono i secondi prima che venga effettuato il refresh, e logico che se riaggiorni la pagina vengono rimandate tutte le informazioni di nuovo.

  3. #3
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    E' un comportamento più che normale, visto che allo scritp registraform.php invii dei dati tramite post. Una soluzione può essere un controllo, del tipo: se l'utente è già registrato, fai qualcosa, altrimenti registralo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    ma non posso capire in qualche modo se è la prima volta che chiamo la pagina di registrazione, quindi che i dati arrivano dal form... o se è un aggiornamento???

  5. #5

    Re: Messaggio di avvenuta registrazione

    Originariamente inviato da Sosuke
    Ciao a tutti...
    vorrei chiedervi come ovviare ad un 'problema'....
    allora ho un form in una pagina form.php... una volta cliccato su invia tutti i dati finiscono alla pagina registraform.php (tramite post)...
    una volta che i dati sono stati registrati correttamente sul DB stampo un msg di successo...
    e qui nasce il problema... se l'utente aggiorna la pagina (registraform.php) viene rieffettuata l'operazione di registrazione... cosa non giusta... anzi sbagliatissima...
    come posso ovviare a questo problema???
    grazie a tutti...
    puoi mettere a fine pagina un codice javascript per far visualizzare il messaggio e ritornare alla home:
    codice:
    <script>
    alert("Registrazione avvenuta con successo.")
    document.location = "index.php"
    </script>
    P&D Solution - "...new IT solution"
    Realizzazione siti web - conversione XHTML.
    Contatti:
    web: www.pdsolution.it
    tel/fax: +39 090 52899

  6. #6
    Nella prima pagina registri la sessione e nella seconda controlli se la sessione è registrata e se non lo è fai un redirect.
    Quuesto può anche essere utile contro alcuni Crawler che inviano direttamente dati alla pagina di registrazione.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    mmm... la soluzione della sessione mi sembra la migliore... ma io ho già delle variabili di sessione... questa pagina si trova in una zona solo per autenticati...

    cmq le soluzione del redirect a tempo l'ho già adottata... ma volevo adottare un'altra soluzione dato che stampo un messaggio che ha bisogno di tempo per essere letto...

  8. #8
    Ne registri un'altra con un altro nome (magari la chiami ISCRIZIONE) e se la sessione ISCRIZIONE nella seconda pagina esiste procedi, altrimenti... redirect!

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    ok però subito dopo il redirect vorrei distruggerla... potrei chiedermi nella pagina di destinazione del redirect se esiste quella variabile di sessione e se esiste distruggerla... giusto???

    anzi forse è meglio che ogni volta che apro la pagina form.php controllo l'esistenza della variabile di sessione e se esiste la distruggo.... o la setto ad off... tu che mi consigli???

  10. #10
    Meglio ancora:
    Nella prima pagina:
    Codice PHP:
    session_register("Iscrizione"); 
    Nella pagina che riceve i dati:
    Codice PHP:
    if (!session_is_registered("Iscrizione")){
    $errors[]= "errore";
    } else { 
    /* redirect  */
    Nella pagina post-iscrizione:
    Codice PHP:
    if (session_is_registered("Iscrizione")){
    session_unregister("Iscrizione");


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.