Salve, ho un problema con uno scipt di login:
Codice PHP:
<?php
require 'config.inc.php';
require 'connect.php';
$user = $_POST['user'];
$pass = $_POST['pass'];
// questo serve per evitare di ricevere subito un messaggio dallo script
// controllo che entrambi i valori siano stati compilati
if ( $user && $pass ) {
// effettuo l'escape per i valori speciali per evitare problemi con le query
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
// preparo una query cioè una richiesta al database che vede se esistono i
// valori appena inseriti nella tabella creata precedentemente
$sql = "SELECT * FROM utenti WHERE Username = '$user' AND password = MD5('$pass')";
$res = mysql_query($sql) or die (mysql_error());
// ora se i dati inseriti sono quelli esatti presenti all'interno della tabella possiamo far effettuare il login
if ($res) {
// ora creo una sessione con l'id dell'utente che lo farà restare connesso tutto
// il tempo della navigazione alle pagine protette da login
while($row = mysql_fetch_array($res)) {
if (!$row['ban']){
session_start();
$idutente = $row['user_id'];
$nomeutente = $user;
$_SESSION['id_utente'] = $idutente;
$_SESSION['nome_utente'] = $nomeutente;
$_SESSION['admin'] = $row['Admin'];
$_SESSION['mail'] = $row['mail'];
$seconds = 5;
echo 'Benvenuto ' . $row[Username]. '';
header('Refresh: ' . $seconds . '; url=../index.php');
} else {
echo 'Risulti bannato nei nostri archivi. Forse avrai inviato qualche messaggio non consono! Per maggiori informazioni rivolgiti agli amministratori';
}
}
}
if (!$res) {
echo "Username o Password errati";
}
} else {
echo "Non sono stati compilati tutti i dati obbligatori";
}
?>
Il problema consiste nel fatto che non nel caso in cui i dati siano errati, ovvero se l'username e la password sono errati non visualizza alcun messaggio, mentre se sono corretti visualizza tutto correttamente! Come posso risolverlo?