non riesco in nessun modo non so dove mettere le mani per richiamare l'errore
registrazione.php
	Codice PHP:
	
<?php
include_once("include/config.php");
include_once("include/reg.lib.php");
if(isset($_POST['action']) and $_POST['action'] == 'Invia'){
    $ret = reg_check_data($_POST);
    $status = ($ret === true) ? reg_register($_POST) : REG_ERRORS;
}
if(isset($_POST['action']) and $_POST['action'] == 'Invia'){
    
    $pippo = check_two_password($_POST["password"],$_POST["password2"]);
    $status2 = ($pippo === true) ? reg_register($_POST) : REG_ERRORS;
//altro codice di registrazione dei dati.
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>Login Utente</title>
    <link type="text/css" rel="stylesheet" href="css/style.css" />
</head>
<body>
<table cellpadding="0" cellspacing="0" align="ceter">
<tr>
    <td><?php include ('header.php');  ?></td>
</tr>
<tr>
    <td><?php include ('menu.php');  ?></td>
</tr>
<tr>
    <td>
    
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <div align="center">
    <table border="0" width="300" class="style1">
    <tr>
        <td colspan="2" height="10"></td>
    </tr>
    <tr>
        <td>Nome:</td>
        <td><input type="text" name="nome"></td>
    </tr>
    <tr>
        <td>Cognome:</td>
        <td><input type="text" name="cognome"></td>
    </tr>
    <tr>
        <td>Username:</td>
        <td><input type="text" name="username"></td>
    </tr>
    <tr>
        <td>Password:</td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td>Riscrivi la password:</td>
        <td><input type="password" name="password2"></td>
    </tr>
    <tr>
        <td>E-mail:</td>
        <td><input type="text" name="email"></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><input type="submit" name="action" value="Invia"></td>
    </tr>
    </table>
    </div>
    </form>
    
    <div>
    <?
    switch($status){
        case REG_ERRORS:
            ?>
            <span class="style1">Sono stati rilevati i seguenti errori:</span>
            <span class="style2">
            <?php
            foreach($ret as $error)
                printf("[b]%s[/b]: %s
", $error[0], $error[1]);
                printf("[b]%s[/b]: %s
", $pass);
            ?>
            </span>
            <?php
        break;
        case REG_FAILED:
            echo "Registrazione Fallita a causa di un errore interno.";
        break;
        case REG_SUCCESS:
            echo "Registrazione avvenuta con successo.";
            require_once('ty.php');
            //Vi è stata inviata una email contente le istruzioni per confermare la registrazione.";
        break;
    }
    ?>
    </div>
    </td>
</tr>
<tr>
    <td><?php include ('footer.php');  ?></td>
</tr>
</table>
</body>
</html>
 
config.php
	Codice PHP:
	
<?php
$_CONFIG['host'] = "localhost";
$_CONFIG['user'] = "root";
$_CONFIG['pass'] = "*******";
$_CONFIG['dbname'] = "autenticazione";
$_CONFIG['table_sessioni'] = "sessioni";
$_CONFIG['table_utenti'] = "utenti";
$_CONFIG['expire'] = 60;
$_CONFIG['regexpire'] = 24; //in ore
$_CONFIG['check_table'] = array(
    "username" => "check_username",
    "password" => "check_global",
    "password2" => "check_global",
    "nome" => "check_global",
    "cognome" => "check_global",
    "email" => "check_global"
);
function check_username($value){
    global $_CONFIG;
    
    $value = trim($value);
    if($value == "")
        return "Il campo non può essere lasciato vuoto";
    $query = mysql_query("
    SELECT id
    FROM ".$_CONFIG['table_utenti']."
    WHERE username='".$value."'");
    if(mysql_num_rows($query) != 0)
        return "Nome utente già utilizzato";
    
    return true;
}
function check_global($value){
    global $_CONFIG;
    
    $value = trim($value);
    if($value == "")
        return "Il campo non può essere lasciato vuoto";
    
    return true;
}
function check_two_password($password, $password2){
    global $_CONFIG;
    $password= trim($password);
    $password2= trim($password2);
    if($password != $password2)
        return "attenzione le password non coincidono";
    return true;
}
//--------------
define('AUTH_LOGGED', 99);
define('AUTH_NOT_LOGGED', 100);
define('AUTH_USE_COOKIE', 101);
define('AUTH_USE_LINK', 103);
define('AUTH_INVALID_PARAMS', 104);
define('AUTH_LOGEDD_IN', 105);
define('AUTH_FAILED', 106);
define('REG_ERRORS', 107);
define('REG_SUCCESS', 108);
define('REG_FAILED', 109);
$conn = mysql_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass']) or die('Impossibile stabilire una connessione');
mysql_select_db($_CONFIG['dbname']);
?>
 
reg.lib.php
	Codice PHP:
	
<?php
function reg_register($data){
    //registro l'utente
    global $_CONFIG;
    
    $id = reg_get_unique_id();
    mysql_query("
    INSERT INTO ".$_CONFIG['table_utenti']."
    (name, surname, indirizzo, occupazione, username, password, temp, regdate, uid)
    VALUES
    ('".$data['name']."','".$data['surname']."','".$data['indirizzo']."',
    '".$data['occupazione']."','".$data['username']."',MD5('".$data['password']."'),
    '1', '".time()."','".$id."')");
    
    //Decommentate la riga seguente per testare lo script in locale
    //echo "<a href=\"http://localhost/Articoli/autenticazione/2/scripts/confirm.php?id=".$id."\">Conferma</a>";
    if(mysql_insert_id()){
        return reg_send_confirmation_mail($data['mail'], "test@localhost", $id);
    }else return REG_FAILED;
}
function reg_send_confirmation_mail($to, $from, $id){
    //invio la mail di conferma
    $msg = "Per confermare l'avvenuta registrazione, clicckate il link seguente:
    [url]http://localhost/Articoli/autenticazione/1/scripts/confirm.php?id=[/url]".$id."
    ";
    return (mail($to, "Conferma la registrazione", $msg, "From: ".$from)) ? REG_SUCCESS : REG_FAILED;
}
function reg_clean_expired(){
    global $_CONFIG;
    
    $query = mysql_query("
    DELETE FROM ".$_CONFIG['table_utenti']."
    WHERE (regdate + ".($_CONFIG['regexpire'] * 60 * 60).") <= ".time()." and temp='1'");
}
function reg_get_unique_id(){
    //restituisce un ID univoco per gestire la registrazione
    list($usec, $sec) = explode(' ', microtime());
    mt_srand((float) $sec + ((float) $usec * 100000));
    return md5(uniqid(mt_rand(), true));
}
function reg_check_data($data){
    global $_CONFIG;
    
    $errors = array();
    
    foreach($data as $field_name => $value){
        $func = $_CONFIG['check_table'][$field_name];
        if(!is_null($func)){
            $ret = $func($value);
            if($ret !== true)
                $errors[] = array($field_name, $ret);
        }
    }
    
    return count($errors) > 0 ? $errors : true;
}
function reg_confirm($id){
    global $_CONFIG;
    
    $query = mysql_query("
    UPDATE ".$_CONFIG['table_utenti']."
    SET temp='0'
    WHERE uid='".$id."'");
    
    return (mysql_affected_rows () != 0) ? REG_SUCCESS : REG_FAILED;
}
?>