Salve a tutti,
Vorrei dei chiarmenti. Ho creato una sessione, ho creato una pagina di protezione che permette la visualizzazione solo a chi è loggato, e ho creato una pagina dove loggarsi e una di benvenuto. Il tutto funziona egregiamente. Sulla pagina di benvenuto, vorrei mettere un tastino di logout, ma non me lo visualizza. mi visualizza solo benvenuto pincopallino e mi dice il numero di utenti registrati. Perchè questo benedetto tastino non si visualizza. Ora se tolgo il richiamo della paginaprotetta.php, si visualizza il tastino ma non il benvenuto. Vi posto i codici in modo tale che spero in qualche buon anima che mi dia na risposta. grazie.
Il primo file si chiama: login.php
Codice PHP:
<?php
require_once("connetti.php");
require_once("data.php");
session_start();
if(isset($_SESSION['utente'])) {
$username =$_SESSION['utente'];
$qry= "select * from utenti where username = '".$username."'";
// echo "AAAAA".$qry."BBBB";
$result = mysql_query($qry)or die (mysql_error());
$riga = mysql_fetch_assoc($result);
echo "<center> <h1> <br> Benvenuto ".$riga['nome']."!";
}
else
{
if(isset($_POST['log']))
{
error_reporting(E_ALL ^ E_NOTICE);
$username = $_POST['username'];
$password = mysql_real_escape_string(md5($_POST['password']));
$result = mysql_query("SELECT * FROM utenti WHERE username = '$username' AND password = '$password' ")or die (mysql_error());
$controllo = mysql_num_rows($result);
if($controllo > 0)
{$_SESSION['utente'] = $username;
header("location:benvenuto.php");
}
else
{
echo " <h1> <center> <br> La password e/o lo username sono sbagliati. Riprovare grazie !!! </center> </h1>";
}
}
else{
echo "<form action='' method='POST'>
<center>
<br> <br> <br> <br>
Username: <input type='text' name='username'> <br> <br>
Password: <input type='password' name='password'> <br> <br>
<input type='submit' name='log' value='Loggati'>
<input type='submit' name='reg' value='Registrati'>
</center>
</form>";
}
}
$userreg = mysql_num_rows(mysql_query("SELECT * FROM utenti"));
echo "<b> <br> <br>".$userreg."</b> utenti registrati</div>";
if(isset($_POST['reg']))
{
header("Location:iscrizione.php");
}
?>
Il secondo file si chiama benvenut.php
Codice PHP:
<?php
require_once'paginaprotetta.php';
if(!isset($_POST['esci'])){
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<center>
<form action= '' method="POST">
<input type="submit" name="esci" value="Logout" >
</form>
</head>
<body>
<?php
}else{
session_start();
$_SESSION = array();
session_destroy();
echo "<center> <h1> Addio !!!! Alla prossima </center> </h1>";
} ?>
</body>
</html>
ovviamente se tolgo questa riga require_once'paginaprotetta.php'; visualizza il tastino ma non il benvenuto.
L'ultimo file èpaginaprotetta.php
Codice PHP:
<?php
session_start();
session_regenerate_id(true);
// Controllo accesso
if(isset($_SESSION['utente'])) {
$nome = mysql_real_escape_string(strtolower(trim ($_POST['nome'])));
echo "<h1> <br> <center>";
// echo "Ciao ".$_SESSION['utente']."!";
echo "</h1> </br> </center>";
header('location:login.php');
exit;
}
else
{
//echo "Benvenuto ".$_SESSION['$login'];
}
?>
I due richiami: require_once("connetti.php"); e require_once("data.php"); hanno la funzione, la prima di connettersi al db, e la seconda di visualizzare la data corrente. Sono riportate in tutte le pagine web.
Spero in un vostro aiuto al più presto. Grazie. Sono rimasto bloccato.