Ho una pagina di login che apre una sessione, se i dati sono esatti viene richiamata una pagina specifica. Lo script è questo:
Ogni utente loggato adesso è nella sua bella paginetta ma volendo avrebbe il ''permesso'' di visitare anche le pagine riservate di altri utenti.
Vorrei fare in modo che questo non accada, magari dando il nome utente alla sessione ma ci sto uscendo pazzo.
Posto anche il codice di controllo sessione:
PHP:
<?php
session_start();
function loginform(){
echo "<form action='' method='POST'>
Username: <input type='text' name='username'>
Password: <input type='text' name='password'>
<input type='submit' name='login' value='Login'>
</form>
";
}
function logoutform(){
echo "<form action='' method='POST'>
<input type='submit' name='Invia' value='Logout'>
</form>
";
}
function login($username, $password){
$pass = md5($password);
$con = mysql_connect('localhost', 'root', '****') or die (mysql_error());
mysql_select_db('my_fantacalciojarno', $con) or die (mysql_error());
$result = mysql_query(" SELECT * FROM user WHERE username='$username' AND password='$pass' ") or die (mysql_error);
$result_array = mysql_fetch_array($result);
$count = mysql_num_rows($result);
if($count==1){
$_SESSION['login']=$username;
echo "Login avvenuto";
echo"<script type='text/javascript'>";
echo "setTimeout(\"location.href='{$result_array['pagina']}';\", 1000);";
echo"</script>";
}
else{
echo "Login errato. ";
}
}
function logout(){
session_destroy();
}
if(isset($_POST['login'])){
echo "sei loggato.";
logoutform();
}
else{
echo "fai il login" ;
loginform();
}
if($_POST['login']){
echo "login in corso..";
login($_POST['username'], $_POST['password']);
}
elseif($_POST['logout']){
echo "Stai facendo il logout ";
logout();
}
?>
Ogni utente loggato adesso è nella sua bella paginetta ma volendo avrebbe il ''permesso'' di visitare anche le pagine riservate di altri utenti.
Vorrei fare in modo che questo non accada, magari dando il nome utente alla sessione ma ci sto uscendo pazzo.
Posto anche il codice di controllo sessione:
PHP:
<?php
session_start();
if (!isset($_SESSION['login'])){
exit( "Accesso negato. Devi fare il <a href='login.php'>login<a>.");
}
?>