Quando faccio il logout invece di vedere solo il messaggio di logout, leggo anche "verrai indirizzato agli annunci" che visualizzo solo i caso di login..come fare a distruggere la sessione in modo tale da non visualizzare il messaggio??
PHP:
<?php
//inizia la sessione utente
session_start();
//includo i parametri del db
include("varDB.inc");
//apro una connessione con il db e lo seleziono
$conn = mysql_connect($host,$user,$password) or die;
mysql_select_db($db) or die;
// inizializzo la variabile
$messaggio = "";
// se è stato premuto il pulsante invia
if (isset($_POST['invia'])) {
// controllo sulle stringhe
$username = ($_POST['username']);
$password = ($_POST['password']);
// se i campi non sono vuoti
if (!empty($username) && !empty($password)) {
//preparo la query
$query = "SELECT * FROM utenti WHERE username='$username' AND password='$password' ";
// la eseguo
$controllodati = mysql_query($query);
// se trovo un risultato
if (mysql_num_rows($controllodati) == 1) {
// recupero i dati del record
$sessione = mysql_fetch_array($controllodati);
// metto in sessione la username
$_SESSION['utente'] = $sessione['username'];
} else {
// utente non trovato
$messaggio="<font color='black' face='times new roman' size='4px'>User o password non validi";
header("refresh: 2; URL=login.php?azione=login");
}
} else {
// campi vuoti
$messaggio = "<font color='black' face='Times new roman' size='4px'>devi riempire tutti i campi";"Non hai inserito le credenziali";
header("refresh: 2; URL=login.php?azione=login");
}
}
?>
<html>
<head>
<!-- striscia in alto -->
<title>Login</title>
<!-- css esterno -->
<link rel="stylesheet" type="text/css" href="stile.css">
</head>
<body>
<table>
<tr>
<td>
<p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>
</td>
</tr>
</table>
<div id="menu">
<ul>
<?php
// se non c'è una sessione utente mostro il link per il login o per la registrazione
if (!isset($_SESSION['utente'])) {
echo"<li><p><font color='red' Face='georgia' size='4px'>Ciao visitatore!</p></li>";
echo"<li><p><a href='login.php?azione=login'><p><font color='blue' Face='sans-serif' size='4px'>login</a></p></li>";
echo"<li><p><a href='registrati.php'>registrati</a></p></li>";
echo"<br>";
echo"<br>";
echo"<br>";
} else { // altrimenti il logout e il cancella dati, solo se c'è la sessione utente
echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] ."!</li>";
echo"<li><a href='login.php?azione=logout'>logout</a></li>";
echo"<li><a href='cancellato.php'>cancella account</a></li>";
echo"<br>";
echo"<font color='black' face='times new roman' size='4px'>Verrai indirizzato alla pagina degli annunci";
header("refresh:2; URL=entra1.php");
}
?>
</ul>
</div>
<?php
echo "<p>" . $messaggio . "</p>";
//azione determina il login o il logout
$p = isset($_GET['azione']) ? $_GET['azione'] : "";
if ($p == "login") {
// se è già in corso la sessione utente l'utente non potrà loggarsi di nuovo
if(!isset($_SESSION['utente'])){?>
<form method="POST" action="login.php">
<label for="username">Username</label>
<input type="text"name="username" id="username"/><br>
<label for="password"> Password</label>
<input type="password" name="password" id="password"/><br>
<input type="submit" name="invia" value="entra"/><br>
</form>
<?php }else{
echo"<font color='black' face='times new roman' size='4px'>Verrai indirizzato alla pagina degli annunci";
header("refresh:2; URL=entra1.php");
}
// con il logout
} else if ($p == "logout") {
//distruggo la sessione
session_destroy();
echo"<br>";
echo"<br>";
echo"<br>";
echo"<font color='black' face='times new roman' size='4px'>Logout effettuato";
echo"<br>";
Echo"<font color='black' face='times new roman' size='4px'>Arrivederci,<b> " . $_SESSION['utente'] . "</b>";
// reindirizzo l'utente alla pag della home
header("refresh: 2; URL=home.php");
// chiudo la connessione al db
mysql_close();
?>
</body>
</html>
Ultima modifica: