Form con validazione in Ajax con mootools 2/3

Nel prcecedente tutorial abbiamo visto come usare la libreria js mootools e far effettuare una richiesta asincrona.

Oggi vedremo come creare il "motore" su cui si basa la validazione del nostro form; per prima cosa controlleremo se l’utente ha inserito tutti i dati, poi se le password inserite combaciano ed infine se l’indirizzo e-mail è valido.

<?php
    include(‘functions.php’);

    if ($_POST['Nome']==” || strlen($_POST['Nome'])<3)
    {
        $errors[] = ‘Campo obbligatorio, il nome deve contenere almeno 3 caratteri’;
    }

    if ($_POST['Cognome']==” || strlen($_POST['Cognome'])<3)
    {
        $errors[] = ‘Campo obbligatorio, il cognome deve contenere almeno 3 caratteri’;
    }

    if ($_POST['Username']==” || alpha_numeric($_POST['Username'])==FALSE)
    {
        $errors[] = ‘Username obbligatorio, deve contenere valori alfanumerici’;
    }

    if ($_POST['Password']==” || alpha_numeric($_POST['Password'])==FALSE)
    {
        $errors[] = ‘Password obbligatoria, deve contenere valori alfanumerici’;
    }

    if ($_POST['Password']!=$_POST['re_Password'])
    {
        $errors[] = ‘Le due password non corrispondono’;
    }

    if (valid_email($_POST['Email'])==FALSE)
    {
        $errors[] = ‘Per piacere inserisci un indirizzo valido’;
    }

    if(is_array($errors))
    {
        echo ‘<p class="error"><b>Si sono verificati i seguenti errori</b></p>’;
        while (list($key,$value) = each($errors))
        {

            echo ‘<span class="error">’.$value.’</span><br />’;
        }
    }
    else {
        //fai qualcosa,
        echo ‘<p><b>OK!</b></p>’;
        echo ‘<span>La tua registrazione è avvenuta con successo!</span>’;
    }

?>

Il codice proposto include un file "functions.php" che contiene la definizione delle funzioni "alphanumeric" e "valid_email" utili alla validazione. Successivamente controlliamo che nome e cognome siano stringhe di almeno 3 caratteri, in caso contrario memorizziamo l’errore in un array chiamato "errors", controlliamo quindi che lo username e la password siano alfanumeriche e le 2 password combacino, infine controlliamo che l’e-mail sia valida mettendo la descrizione degli errori nell’array questo perchè ci potrebbero essere più errori contemporaneamente e quindi alla fine conviene mostrare il contenuto dell’array tramite un ciclo while, altrimenti se l’array non è stato creato (e quindi non ci sono errori) mostriamo un messaggio che indica all’utente l’avvenuta registrazione.

Come detto vengono utilizzate 2 funzioni per la validazione di utente, password ed email, eccovi il codice:

<?php

    function alpha_numeric($str)
    {
        return ( ! preg_match("/^([-a-z0-9])+$/i", $str)) ? FALSE : TRUE;
    }

    function valid_email($str)
    {
        return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
    }

?>

semplicemente valutano la stringa che viene loro passata tramite con una espressione regolare e restituiscono il relativo valore di verità.

Per un approfondimento sulle espressioni regolari in PHP fate riferimento a questi articoli qui e qui.

La prossima volta metteremo tutto insieme e vedremo all’opera quanto creato fin’ora, vi aspetto!

Technorati Tag: , , , ,

Questa voce è stata pubblicata in Php. Contrassegna il permalink.

2 risposte a Form con validazione in Ajax con mootools 2/3

  1. Pingback: slacko.org Form con validazione in Ajax con mootols 3/3 »

  2. gughi scrive:

    Ciao, ricevo un parse error nel file register.php. Credo che si tratti di una questione di apici ma non sono riuscito a risolverlo. Puoi aiutarmi. Grazie e buon Natale.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">