ciao ragazzi vorrei far funzionare questo form che dovrebbe richiamare le funzioni di errore quando ci sono ma non va non so dove sbaglio:

Codice PHP:
<?
session_start
();

include (
"checkerror.php");
?>


<form method="post" action="<? $PHP_SELF ?>">

Username: <input type="text" name="username" value="<? $username ?>" />

Password: <input type="password" name="password" />

Ripeti Password: <input type="password" name="password2" />

email: <input type="text" name="email" value="<? $email ?>" />

nome: <input type="text" name="nome" value="<? $nome ?>" />

cognome: <input type="text" name="cognome" value="<? $cognome ?>" />

<input type="submit" />

<font color="red">
            <?
            
echo "

"
;
            echo 
"$errori[0]";
            echo 
"
"
;
            echo 
"$errori[1]";
            
?>
</font>


</form>
posto solo la funzione per il controllo del primo campo
checkerror.php
Codice PHP:
<?
include("db_vars.inc");

function 
CheckReg1() {
                 
$errori = array();

                 
$username trim($_POST["username"]);
                 if (
$username == "")
                     {
                     
$errori[0] = "La [b]Username[/b] è obbligatoria";
                     }
                     else if (
strlen($username) < 6// controllo che la username inserita non sia < di 6 caratteri
                     
{
                     
$errori[0] = "Il [b]Username[/b] non deve essere inferiore a sei caratteri";
                     }
                     else if (!
eregi("^([a-zA-Z]{3})([a-zA-Z0-9]*)$"$username))//la username inizia per forza con tre lettere
                     
{
                     
$errori[0] ="La [b]Username[/b] utilizzata contiene caratteri invalidi";
                     }
                     else if (
eregi("^((root)|(bin)|(daemon)|(adm)|(lp)|(sync)|(shutdown)|(halt)|(mail)|(html)|(xhtml)|
                                  (news)|(uucp)|(operator)|(games)|(mysql)|(httpd)|(nobody)|(dummy)|
                                  (www)|(cvs)|(shell)|(ftp)|(irc)|(debian)|(ns)|(download))$"
$username)) // controllo che l'utente non inserisca nomi riservati
                     
{
                     
$errori[0] ="La [b]username[/b] non può contenere nomi illegali";
                     }

                     else {
                     
$query "SELECT users FROM utenti WHERE username = '$username'";
                        
$result mysql_query($query$link) or die("Errore nella query:".mysql_error());
                     if(
mysql_num_rows($result) > 0) {
                        
                        
$errori[0] ="la Username è in uso";
                     }
        }        
}        
?>