Originariamente inviato da homerbit
session_start();
va in primissima riga, assicurati che non ci sia una qualche include e\o ritorno a capo
tolto il while, ma hai lasciato l'assegnazione $row = mysql_fetch_array($res) ?
Ecco lo script:
Codice PHP:
<?php
session_start();
/* -- Connettiamoci al DataBase -- */
include ('database_login.php');
/* -- Recuperiamo i Valori -- */
$user = $_POST['user'];
$pass = $_POST['pass'];
$risp = "ok";
$login = $_GET['login'];
/* -- Serve per Evitare di Ricevere subito un Messaggio dallo Script -- */
if ( $login == $risp )
{
/* -- Controlliamo che i Campi siano stati tutti Compilati -- */
if ( $user && $pass )
{
/* -- Effettuiamo l'Escape per i Valori Speciali, cosi da evitare Problemi con le Query -- */
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
/* -- Query che Invia una richiesta al DataBase, visualizza se i Valori esistano -- */
$sql = "SELECT * FROM registrati WHERE nick = '$user' AND pass = MD5('$pass')";
$res = mysql_query($sql) or die (mysql_error());
/* -- Se i Dati inseriti sono Esatti e Presenti all'interno della Tabella possiamo far effettuare il Login -- */
if ( $res == TRUE )
{
/* -- Creo una Sessione con ID dell'Utente, che lo farà restare Connesso tutto il Tempo della Navigazione alle Pagine protette da Login -- */
$row = mysql_fetch_array($res);
$id_utente = $row['id'];
$nome_utente = $row['nick'];
$_SESSION['id_utente'] = $id_utente;
$_SESSION['nome_utente'] = $nome_utente;
/* -- Infine reindirizzo l'Utente nella pagina protetta da Login -- */
header ("location: paginasegreta.php");
}
echo "Username o Password non corrette";
}
else
{
echo "Non sono stati compilati tutti i dati obbligatori";
}
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action='<? echo $_SERVER['PHP_SELF']; ?>?login=ok' method='post'>
[b]Username[/b]
<input type='text' name='user'>
[b]Password[/b]
<input type='password' name='pass'>
<input type='submit' value='Accedi'>
</form>
</body>
</html>