Premetto che queste sessioni mi hanno sempre dato del filo da torcere, nonostante le infinite guide....
ho creato un unico file di login:
codice:
$id = $_GET["id"];
$page = $_GET["page"];
session_start();
if($_POST["Submit"] == "Logout"){
$_SESSION=array();
session_destroy();
header("Location: pagweb.php?page=$page&id=$id");
}else{
if($_POST["Submit"] == "Login"){
if($_POST['username'] != '' && $_POST['password'] != ''){
$username = $_POST["username"];
$password = md5($_POST["password"]);
$query = "SELECT *
FROM table
WHERE username = '$username'
AND pass = '$password'";
$result = mysql_query($query);
if(!$result || mysql_num_rows($result) == 0){
echo "Username sconosciuto o Password errata";
}else{
$_SESSION['user'] = $_POST["username"];
}
}else{
echo "Devi inserire username e password";
}
}
}
if(!isset($_SESSION['user'])){
?>
<form name="formadmin" method="post" action="<?="pagweb.php?page=$page&id=$id";?>">
username: <input type="text" name="username" size="12">
password:_<input type="password" name="password" size="12">
<input type="submit" name="Submit" value="Login">
</form>
<?
}else{
?>
<form name="formadmin" method="post" action="<?="pagweb.php?page=$page&id=$id";?>">
Benvenuto <?= ucfirst($_SESSION['user'])."...";?> per uscire clicca
<input type="submit" name="Submit" value="Logout">
</form>
<?
}
?>
in pagweb.php
richiamo questo file con
codice:
include ("login.php");
e metto
ob_start();
e
ob_end_flush();
all'inizio ed alla fine per evitare problemi con l'html
in locale, su apache funziona perfattamente, sul server web no.
In cosa sbaglio?
Il problema in rete è che non si disconnette,
resta collegato anche se premo logout (ovviamente se chiudo la pagina chiude la sessione!).
Helpme....