Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    form - senza perdere i dati inseriti

    Scusate per il titolo ma non sapevo come metterlo.
    Spiego subito il mio problema, ho un form che viene inviato ad uno script in PHP che verifica se la user id è gia presente nel DB.
    Ora se la USER ID è presente rimando l'utente ad una pagina dove comunico che la USER ID già esiste.
    Con un pulsante, reindirizzo l'utente alla pagina REGISTRAZIONE.
    Ora siccome la pagina REGISTRAZIONE richiede l'inserimento di una decina di campi, ma quando torno sulla pagina di REGISTRAZIONE i campi Naturalmente sono vuoti, e vorrei evitare che l'utente debba reinserire il tutto un'altra volta.
    Ora come posso gestire questo problema?
    Vorrei fare in modo che ritornando sulla pagina registrazione l'utente si trovi ancora tutti i dati da lui inseriti.
    Spero di essermi spiegato bene.
    Qualche consiglio?
    Grazie
    ¿Hasta la pasta?

  2. #2
    1) Nella pagina a cui punta il form inizializza una sessione con il comando "session_start()" prima di ogni altra cosa, quindi inserisci le variabili del form in variabili di sessione in questo modo:
    Codice PHP:
    $_SESSION['nome'] = $_POST['nome'];
    $_SESSION['address'] = $_POST['indirizzo'];
    //ho messo nomi di variabili differenti per farti capire che non è necessario usare nomi di variabili identici 
    2) Usa "session_start()" per ogni pagina in cui vorrai far ricordare a PHP i suddetti valori, quindi anche nella pagina che dice che l'user è già presenta, ma non avrai bisogno di ridefinire le variabili, ci saranno già.
    3) nella pagina con il form inizializza la sessione nel solito modo e per ogni capo del form fai una cosa del genere:
    codice:
    <input type="text" name="nome" value="<?php if(isset($_SESSION['nome']) { echo $_SESSION['nome']; } ?>">
    in questo modo, se l'utente ha già inserito i dati e la variabile è presente, questi saranno riportati in caso di user già presente.

    infine, al fondo della pagina del form, potresti mettere un comando che elimina la sessione tipo:
    Codice PHP:
    $_SESSION[] = '';
    session_unset();
    session_destroy
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Ciao Lathspell, grazie perla tua risposta.
    Gia avevo impostato la sessione per le pagine interessate, mi mancava solo di capire come gestirle nel form.
    GRAZIE ANCORA!!!
    ¿Hasta la pasta?

  4. #4
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Ciao Lathspell.
    Effettivamente funziona, pero io nella pagina dove punta il form ho un controllo sui campi come questo:
    Codice PHP:
    <?php
    session_start
    ();
    $_SESSION['nome'] = $_POST['nome'];
    $_SESSION['cognome'] = $_POST['cognome'];
    // etc....
    if((preg_match("/^[a-z0-9]{4,8}$/i"$userid)) && (preg_match("/^[a-z0-9]{4,8}$/i"$password_cli)))
    {
    // varie condizioni e vari cicli, qui dove verifico se è presente la USER ID e altro....
    }else{
    echo 
    "verifica i dati";
    }
    ?>
    Senza la verifica "PREG_MATCH" funziona correttamente.
    Se a "PREG_MATCH" lo lascio fare il suo lavoro mi dice: "VERIFICA I DATI".
    Dove sbaglio?



    Grazie
    ¿Hasta la pasta?

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    UP
    ¿Hasta la pasta?

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.