Salve, ho un problema riguardo un form di login.
Alcuni utenti (lo 0.02%) hanno riscontrato un problema nell'autenticarsi, l'errore che lo script da è : Email non valida.
Il problema è che cambiando browser (la maggior parte utilizza safari) non da più questo problema. A cosa può essere dovuto? Ecco lo script
Alcuni utenti (lo 0.02%) hanno riscontrato un problema nell'autenticarsi, l'errore che lo script da è : Email non valida.
Il problema è che cambiando browser (la maggior parte utilizza safari) non da più questo problema. A cosa può essere dovuto? Ecco lo script
HTML:
<!-- Inizio Login -->
<div id="loginContainer">
<a href="#" id="loginButton"><span>Login</span><em></em></a>
<div style="clear:both"></div>
<div id="loginBox">
<form id="loginForm" action="index.php?id=login" method="post">
<fieldset id="body">
<fieldset>
<label for="email">Indirizzo Email</label>
<input type="text" name="email" id="email" />
</fieldset>
<fieldset>
<label for="password">Password</label>
<input type="password" name="password" id="password" />
</fieldset>
<input type="submit" name="submit" id="login" value="Login" />
<label for="checkbox"><input type="checkbox" id="checkbox" />
Ricordami</label>
</fieldset>
<span><a href="#">Dimenticato la Password?</a></span>
</form>
</div>
</div>
<!-- Fine login -->
PHP:
//Controllo definizione nella pagina principale
if ( ! defined( 'IN_INDEX' ) )
{
print "<h1>Accesso Errato</h1>Non puoi accedere direttamente a questo file.";
exit();
}
//Inizio script registrazione
if(isset($_POST['submit'])) {
$data['email'] = $_POST['email'];
$password = $_POST['password'];
// Controllo campi vuoti
if(empty($data['email']) || empty($password)) {
$_SESSION['redirect'] = 'index.php?id=log_fallito&qid=1';
header('Location: '.HEADER_DIR);
die();
}
// Email valida - QUESTO E' L'ERRORE, HO ANCHE PROVATO CON PREG REPLACE MA NIENTE
if(!filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
$_SESSION['redirect'] ="index.php?id=log_fallito&qid=2";
header('Location: '.HEADER_DIR);
die();
}
//Criptazione password
$password = cripta($password);
// Controllo login esistente e corrispondente
if(controllo_corrispondenza(SQL_UTENTI, SQL_EMAIL, $data['email'], SQL_PASS, $password) == 0) {
$_SESSION['redirect'] = 'index.php?id=log_fallito&qid=3';
header('Location: '.HEADER_DIR);
die();
}
//Controllo checkbox
if(isset($_POST['ricordami'])){
setcookie("ulg", $_POST['email'], time()+518400);
setcookie('ups', encryptCookie($_POST['password']), time()+518400);
setcookie("checkbx", "1", time()+518400);
} else{
setcookie("ulg", "", time()-3600);
setcookie("ups", "", time()-3600);
setcookie("checkbx", "", time()-3600);
}
//Ip
$data['data'] = date ("d.m.y-H:i:s");
$data['ip'] = getRealIpAddr();
$data['info'] = 'login';
// Log
$db->query_insert(SQL_LOG, $data);
//Prendi id utente
$campi = prendi_campi(SQL_UTENTI, 'id,username', $data['email'], SQL_EMAIL);
$id_utente = $campi['id'];
$username = $campi['username'];
//Controllo username sessione
if($username != '') {
$_SESSION['username'] = $username;
$db_2 = new Database("#", "#", "#", "#");
$db_2->connect(true);
$rows = $db_2->query("SELECT * FROM users WHERE username = '$username'");
$record = $db_2->fetch_array($rows);
$_SESSION['userid'] = $record['id'];
$db_2->close();
}
$_SESSION['login'] = 1;
$_SESSION['id_utente'] = $id_utente;
header('Location: '.HEADER_DIR);
die();
}