• User

    Form di registrazione con salvataggio database

    Ciao a tutti,
    avrei bisogno del vostro aiuto.
    Vorrei creare un form che permetta l'utente di compilarlo e registrarsi ad un sito o portale.
    I tre passi che avevo calcolato sono i seguenti:

    • compilazione form con controllo dei dati inseriti (mail giusti, ecc.) e per questo volevo chiedere se sapreste indicarmi dove posso reperire i vari controlli per i vari campi (per esempio se l'email è veritiera, il codice fiscale, un elenco delle città italiane,ecc...)
    • in seguito se i dati sono veritieri una mail di notifica all'utente dell'avvenuta registrazione. Per questo avevo pensato di inviare i dati tramite get o post ad una pagina php che prendesse in input la mail dell'utente e i dati principali e compilasse una mail da inviare.
    • e infine l'immissione dei dati utente in un database (di questo ne sono ignaro al 100% su come si faccia)Potreste darmi un paio di dritte dicendomi se i passi da fare eseguire sono giusti o meno e indicarmi i vari controlli e/o qualche link a qualche guida che tratta questa cosa specificatamente o altro.

    Grazie


  • Super User

    fai così:
    nel form (post) metti
    <input type='hidden' name='inviato'>
    poi nel codice php:
    [php]if(isset($_POST[inviato])){
    function verify($campo){
    if(empty($campo)){
    echo "Campo $campo non riempito";}
    else{
    $campo=1;}
    }}
    $campi=array("campo 1","campo 2","campo n");
    foreach($campi as $campo){
    verify($campo);
    if($campo=1){
    //invio e-mail
    //inserimento db
    }
    }}
    [/php]
    P.S: E' probabile qualche erroretto con le graffe 😄


  • User

    @probid said:

    fai così:
    nel form (post) metti
    <input type='hidden' name='inviato'>
    poi nel codice php:
    [php]if(isset($_POST[inviato])){
    function verify($campo){
    if(empty($campo)){
    echo "Campo $campo non riempito";}
    else{
    $campo=1;}
    }}
    $campi=array("campo 1","campo 2","campo n");
    foreach($campi as $campo){
    verify($campo);
    if($campo=1){
    //invio e-mail
    //inserimento db
    }
    }}
    [/php] P.S: E' probabile qualche erroretto con le graffe 😄
    Grazie della risp ma non capisco una cosa, scusami ma nn sono per niente bravo con il php.
    1.l'input inviato a cosa corrisponde?al campo da riempire dall'utente?
    2.il codice dopo lo inserisco nella pagina php (il form) e con gli if controllo se è vuoto il campo e se è stato riempito attraverso una funzione verify da me fatta se soddisfa i requisiti per il campo.
    3.poi pero non capisco perchè imposti campo ad 1 e fai quell'array.
    Mi potresti fare un esempio con i campi nome, cognome e mail (tutti e 3 i campi devono essere usati per poi mandare la mail).

    Spero di non chiedere troppo. Scusate l'ignoranza.
    Ciao


  • Super User

    @Paci said:

    Grazie della risp ma non capisco una cosa, scusami ma nn sono per niente bravo con il php.
    1.l'input inviato a cosa corrisponde?al campo da riempire dall'utente?
    2.il codice dopo lo inserisco nella pagina php (il form) e con gli if controllo se è vuoto il campo e se è stato riempito attraverso una funzione verify da me fatta se soddisfa i requisiti per il campo.
    3.poi pero non capisco perchè imposti campo ad 1 e fai quell'array.
    Mi potresti fare un esempio con i campi nome, cognome e mail (tutti e 3 i campi devono essere usati per poi mandare la mail).

    Spero di non chiedere troppo. Scusate l'ignoranza.
    Ciao

    1.E' un campo nascosto per verificare che l'utente abbia cliccato sul bottone invia per inviare i dati,quindi non è necessario che contenga alcun dato.
    3.Nell'array ci vanno i nomi dei campi dei quali verificare la completezza,la funzione foreach esegue la verifica della completezza di ognuno dei campi contenuti nell'array.
    Se poi nel campo è inserito del testo,il nome del campo ottiene valore 1.
    Se tutti i campi hanno valore 1,lo script invia l'email e inserisce i dati nel database.
    Per l'esempio:
    [PHP]
    <input type='text' name='nome'>
    <input type='text' name='cognome'>
    <input type='text' name='email'><?
    if(isset($_POST[inviato])){
    function verify($campo){
    if(empty($campo)){
    echo "Campo $campo non riempito";}
    else{
    $campo=1;}
    }}
    $campi=array("nome","cognome","email");
    foreach($campi as $campo){
    verify($campo);
    if($campo=1){
    //invio e-mail
    //inserimento db
    }
    }}?> [/PHP]
    Ciao! 😉