Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030

    FORM a più passaggi...

    signori buongiorno

    so già che sto' per fare una figuraccia, ma sono agli inizi, sto imparando, quindi abbiate pazienza.

    per ora ho sempre fatto FORM che raccolgono dati e vanno a scrivere su un db e ok, nessun problema.
    ora però mi trovo a dover fare una cosa un po' diversa, ovvero un FORM "a passaggi"... il classico STEP1, STEP2 etc...

    tipo: la prima pagina raccoglie i dati personali, la seconda pagina le informazioni professionali, la terza pagina le personalizzazioni...e quando uno finisce questi passaggi, tutte le informazioni immesse devono riempire un record completo sul db.

    come si fa a fare questa cosa?
    cioè, come faccio a dire ai dati della seconda pagina che devono "accodarsi" proprio a quelli della prima e così via?


    chiariamoci, non pretendo codice bell'e pronto, cerco link o qualche indicazione che mi spieghino come fare...

    grazie (:





    scusatemi se ho chiesto una stupidata
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  2. #2
    io farei in questo modo:
    in ogni pagina (step1.php, step2.php...), prima dell'html metti un codice php che controlla se il modulo è già stato inviato per quella pagina (magari con un campo hidden al quale dai un valore), nel quale caso controlli se i dati inseriti sono corretti solo allora reindirizzi a step2, altrimenti visualizzi il form che seguirà con la parte html.

    nella pagina successiva, utilizzerai le variabili $_GET o $_POST e poi potresti usare anche una bella sessione con $_SESSION, in questo modo potrai avere tutte le variabili coi valori dell'utente disponibili per tutto il processo di registrazione, e alla fine inserirai queste sul db.
    "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 darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    Originariamente inviato da Lathspell
    io farei in questo modo:
    in ogni pagina (step1.php, step2.php...), prima dell'html metti un codice php che controlla se il modulo è già stato inviato per quella pagina (magari con un campo hidden al quale dai un valore), nel quale caso controlli se i dati inseriti sono corretti solo allora reindirizzi a step2, altrimenti visualizzi il form che seguirà con la parte html.
    ok, fin qua ti seguo
    Originariamente inviato da Lathspell
    nella pagina successiva, utilizzerai le variabili $_GET o $_POST e poi potresti usare anche una bella sessione con $_SESSION, in questo modo potrai avere tutte le variabili coi valori dell'utente disponibili per tutto il processo di registrazione, e alla fine inserirai queste sul db.
    fammi capire come se fossi un idiota

    una volta aperta la sessione all'inizio, se l'utente non chiude il browser posso arrivare a step141.php e riprendere ad es. $POST_['nome'] inserita nello step1 per fargliela inserire nel db?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  4. #4
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    ieri ho fatto una cosa del genere ...
    sono un principiante anche io ma magari può esserti utile
    con un form prima inserisco i dati del login,poi i dati personali..


    il bottone invia del primo form deve inviare i dati al database

    da qui fai un'altra form e invia i dati tramite un UPDATE e l user che ricavi dal pulsante invia..

    form1
    <form action="form1.php">
    all invio i dati vanno sul database

    if(tutto giusto){?>
    form2
    <?} ?>

    form2
    fai un UPDATE WHERE user='".$user."'";

  5. #5
    Originariamente inviato da merha
    il bottone invia del primo form deve inviare i dati al database

    da qui fai un'altra form e invia i dati tramite un UPDATE e l user che ricavi dal pulsante invia..
    ma così fai inserimenti che poi potranno rimanere incompleti perchè l'utente non procede per tutti gli step...

    io memorizzerei tutti i dati passati col POST in SESSIONI
    e solo alla fine farei l'inserimento completo nel DB

  6. #6
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    Originariamente inviato da merha
    ieri ho fatto una cosa del genere ...
    sono un principiante anche io ma magari può esserti utile
    con un form prima inserisco i dati del login,poi i dati personali..


    il bottone invia del primo form deve inviare i dati al database

    da qui fai un'altra form e invia i dati tramite un UPDATE e l user che ricavi dal pulsante invia..

    form1
    <form action="form1.php">
    all invio i dati vanno sul database

    if(tutto giusto){?>
    form2
    <?} ?>

    form2
    fai un UPDATE WHERE user='".$user."'";
    grazie mille per la risposta (:

    ma questo sistema (che provo oggi pomeriggio) funziona aprendo prima una sessione o non è necessario?
    se uno non compila tutto, che succede?

    grazie
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  7. #7
    Originariamente inviato da darkiko
    ok, fin qua ti seguo

    fammi capire come se fossi un idiota

    una volta aperta la sessione all'inizio, se l'utente non chiude il browser posso arrivare a step141.php e riprendere ad es. $POST_['nome'] inserita nello step1 per fargliela inserire nel db?
    in pratica in ogni pagina controlli tutto, poi facciamo finta che
    - i dati sono passati
    - i dati sono corretti

    allora tu scriverai nella prima delle pagine step:

    Codice PHP:
    session_start();
    $_SESSION['user'] = $_POST['user'];
    $_SESSION['pass'] = $_POST['pass']; 
    e poi dovrai in ogni altra pagina, e prima di ogni altro codice php mettere:
    Codice PHP:
    session_start(); 
    così da rendere disponibili le variabili $_SESSION fino a che la sessione rimarrà aperta.

    dopo aver inserito i dati prendendo i valori dall'array $_SESSION, dovrai solo eliminare la sessione dopo aver controllato che l'inserimento è andato a buon fine con

    Codice PHP:
    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!!

  8. #8
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    Originariamente inviato da troglos
    io memorizzerei tutti i dati passati col POST in SESSIONI
    e solo alla fine farei l'inserimento completo nel DB
    ma quindi, a sessione aperta, posso ad esempio nell'ultimo passaggio andare a recuperare $POST_['nome'] $POST_['cognome'] etc inserite nello step1 per fargliele inserire nel db o "se le dimentica"?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  9. #9
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    Originariamente inviato da Lathspell
    in pratica in ogni pagina controlli tutto, poi facciamo finta che
    - i dati sono passati
    - i dati sono corretti

    allora tu scriverai nella prima delle pagine step:
    ...
    ma quindi, le variabili $_SESSION (dopo che ho aperto la sessione) me le porto a spasso per tutta la navigazione dell'utente che compila il form, giusto?

    e ad es se lui compila nello step1 le info personali e nello step2 quelle lavorative io dovrei avere dopo lo step1 qualcosa tipo
    $_SESSION['nome'] = $_POST['nome'];
    $_SESSION['cognome'] = $_POST['cognome'];
    $_SESSION['indirizzo'] = $_POST['indirizzo'];
    $_SESSION['pincopallino'] = $_POST['pincopallino'];
    poi impostare che dopo lo step2 anche
    $_SESSION['lavoro'] = $_POST['lavoro'];
    $_SESSION['posizione'] = $_POST['posizione'];

    e via così?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  10. #10
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    ho detto qualche cagata?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

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.