Allora, quando controlli se l'utente è loggato fai così:
Codice PHP:
<?
session_start();
if (isset($_SESSION['myusername']) && isset($_SESSION['mypassword'])) {
echo 'Login successful';
}
?>
Mentre quando invece l'utente effettua il login e devi memorizzare le sessioni usa questo codice modificato:
Codice PHP:
<?php
$host = "localhost"; // Hostname
$username = "root"; // Mysql username
$password = ""; // Mysql password
$tbl_name = "utenti"; // Nome della Tabella
$db_name = "login"; //Nome del Database
// Procedimento per connettersi al Database
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Nome utente e password inviate attraverso il form
$myusername = (isset($_POST['myusername'])) ? $_POST['myusername'] : '';
$mypassword = (isset($_POST['mypassword'])) ? $_POST['mypassword'] : '';
// aggiungo eventuali slash se non sono presenti in modo da evitare le sql injection
$myusername = (!get_magic_quotes_gpc()) ? addslashes($myusername) : $myusername;
$mypassword = (!get_magic_quotes_gpc()) ? addslashes($mypassword) : $mypassword;
// cripto la password con md5()
$mypassword = md5($mypassword);
// controllo se l'utente con tale username e password esiste.
// Attenzione: la password salvata nel database dev'essere anch'essa stata criptata in precedenza con md5 al momento della registrazione dell'utente.
$sql = "SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result = mysql_query($sql);
// Mysql_num_row is counting table row
$count = mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1){
// L'utente con quell'username e quella password esiste allora salvo la sessione
session_start();
$_SESSION = array();
session_regenerate_id();
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;
header("location:..//cod/login_success.php");
exit;
}
else {
echo "Attenzione username o password errati";
}
?>