Buongiorno a tutti,
ho caricato sul mio sito uno script di registrazione e login che funziona, ma quando cerco di creare pagine con contenuti solo per utenti loggati non 'legge' il login. ho utilizzato $_SESSION['logged_in'] = 1; per settare il login.
il codice del login è:
Codice PHP:
<?php
include('config.php');
include('header.php');
//controlla se la sessione è già attiva
if(isset($_SESSION['logged_in']))
{
header('Location: index.php');
}
$submit = isset($_POST['submit']) ? true : false;
if($submit)
{
$error = array();
if(!empty($_POST['username']) && !empty($_POST['psw']))
{
$select = $db->prepare("SELECT username, user_password FROM users WHERE username = :name AND user_password = :psw");
$select->execute(array(':name' => $_POST['username'], ':psw' => md5($_POST['psw'])));
$row = $select->fetch(PDO::FETCH_ASSOC);
if(!$row) $error[] = 'Login fallito ! Verifica se hai inserito correttamente username e password';
}
else $error[] = 'Per favore compila tutti i campi';
// se tutto ok effettuo il login altrimenti stampo errori
if(empty($error))
{
$_SESSION['logged_in'] = 1;
$_SESSION['username'] = $row['username'];
$_SESSION['password'] = $row['user_password'];
//se abbiamo spuntato il campo ricordami creo il cookie
if(isset($_POST['remember_me']))
{
$cookie_value = $row['username'].'|'. $row['user_password'];
setcookie($cookie_name, $cookie_value, time() + $cookie_time, $cookie_path, $cookie_domain);
}
//reindirizza verso la tua homepage
header('Location: index.php');
}
else
{
echo '<h2>Sono presenti i seguenti errori</h2>';
foreach ($error as $e)
{
echo '<p>'.$e.'</p>';
}
}
}
?>
il codice per il contenuto riservato è:
Codice PHP:
<!doctype html>
<html>
<head>
</head>
<body>
<div id="box3">
<p>
Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
</p>
</div>
<br/><br/>
<p>Alcuni Esercizi Svolti : </p>
<?php
if (isset($_SESSION['logged_in'] ))
{
// contenuto per utenti registrati
echo '<p>puoi vedere</p>';
}
else
{
// contenuto per gli ospiti
echo '<p> non puoi vedere</p>';
}
?>
<a href="index.php">Home</a>
</body>
</html>
Qualcuno potrebbe indicarmi dove sbaglio? Non rieco proprio a capire come fare!
Grazie mille a tutti!