Ho provato ad utilizzare il seguente script di login, ma cliccando su 'entra' viene fuori una pagina bianca, a prescindere dalla correttezza dei dati.
NOZIONI UTILIZZATE NELLO SCRIPT
nome utente amministrazione mysql: altutto
password: nello script seguente la chiamerò semplicemente password
db: my_altutto
host: localhost (è su altervista)
tabella utenti: avphpbb_users
colonna username: username
colonna password: user_password
.../user/login.html
Codice HTML:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form id="login" action="verifica.php" method="post">
<fieldset id="inputs">
<input id="username" name="username" type="text" placeholder="Username" autofocus required>
<input id="password" name="password" type="password" placeholder="Password" required>
</fieldset>
<fieldset id="actions">
<input type="submit" id="submit" value="Entra">
<a href="http://forum.it.altervista.org/index.html" id="back">Indietro</a>
</fieldset>
</form>
</body>
</html>
.../user/verifica.php
Codice PHP:
<?php
//Avvio o continuo la sessione
session_start();
//Controllo che la sessione sia attiva
if(!IsSet($_SESSION['logged']))
{
//Controllo se l' utente vuole loggarsi
//Recupero i valori da una Form
$username = @$_POST['username'];
$password = @$_POST['password'];
//Controllo se l' username e la password non sono vuoti
if((!strlen($username) == 0) and (!strlen($password) == 0))
{
//Effettuo il controllo dei dati
$strSQL = "SELECT * FROM avphpbb_users WHERE username = '".$username."' AND user_password = MD5('".$password."')";
$result = mysql_query($strSQL);
$row = mysql_fetch_row($result);
//Controllo se l' utente e' stato trovato
if(!strlen($row[0]) == 0)
{
//Effettuo il login
$_SESSION['logged'] = $row[0];
echo "<script>location href('http://.../paginaprivata.php')</script>"
}
//Libero la memoria
mysql_free_result($result);
}
}
if(@$_GET['logout'] == 1) //Effettuo il Logout
{
$_SESSION = array(); //Desetto tutte le variabili di sessione
session_destroy(); //Distruggo le sessioni
}
?>
.../user/connessione_db.php
Codice PHP:
<?php
$connessione=mysql_connect("localhost", "altutto", "password");
$selezione_db=mysql_select_db("my_altutto", $connessione);
?>
.../paginaprivata.php
Codice PHP:
<?php require_once('user/connessione_db.php');?>
<?php require_once('user/verifica.php');?>
<?php
//Controllo che l' utente sia loggato
if(IsSet($_SESSION['logged']))
{
//L' utente e' loggato
echo "Loggato.";
}else{
//L' utente non e' loggato
echo "Errore: non sei loggato. <a href="user/login.html">login</a>";
die();
}
?>
<html>
Qui codice html e php della pagina privata
</html>
Sapreste dirmi cosa ho sbagliato oppure suggerirmi uno script funzionante?