Grazie per la risposta,
ho provato e purtroppo non funziona ancora, o meglio funziona ma come prima, ovvero esce correttamente, ma poi le variabili di sessione sono ancora memorizzate.
Spiego piu' in dettaglio:
Ho uno script di login in home, con action la stessa pagina. Quindi in home subito dopo aver aperto la sessione, controllo le variabili ricevute per $_POST e assegno diversi valori alla variabile $error, a seconda dei casi, che poi analizzo con uno switch. Solo se il login avviene correttamente, assegno dei valori alle variabili di $_SESSION. Ora per vedere dove puo esse il problema del logout, se le variabili di $_POST sono vuote, scrivo "Nessuna info", Se invece il login avviene correttamente, stampo "Login avvenuto con successso". Inoltre, tramite la funzione print_r, stampo il contenuto dell'array $_SESSION.

Ora, quando giungo in home per la prima volta, a video stampa: Nessuna info. Array()

Quindi ok, tutto corretto.

Eseguo il login e stampa: Login avvenuto con successo Array(pieno, con tutti i valori)

Eseguo il logout e di nuovo Nessuna info, Array()

Se ritorno sulla home, invece, stampa: Nessuna info, ma Array(pieno, con tutti i valori)

Quindi escludo che tornando sulla home le variabili di POST siano salvate e quindi esegua in automatico il login, perche' stamoa nessuna info. Semplicemente la sessione non viene distrutta... non riesco a venirne a capo.


Questo il codice PHP all'inizio della home, se puo' servire

Codice PHP:

<?php

session_start
();


require 
'config.php';
require 
'connect.php';


$mail mysql_real_escape_string($_POST[email]);
$pwd mysql_real_escape_string($_POST[pwd]);

$error 'empty';

if((
$mail) && ($pwd == "")) {
$error 'no_pwd';
}

elseif((
$pwd) && ($mail == "")) {
$error 'no_mail';
}

elseif((
$mail) && ($pwd)) {

$log_query "SELECT * FROM `users` WHERE `mail` = " "'" $mail "'";
$log_data mysql_query($log_query$link);
$n mysql_num_rows($log_data);

if(
$n == 0) {
$error 'mail_err';
}

else {

$data mysql_fetch_row($log_data);
$uid $data[0];
$status $data[1];
$key $data[2];
$user $data[4];
$user_pwd $data[5];


if(
$status == 0) {
$error 'no_act';
}

elseif(
$status == 1) {

$pwd md5($pwd);

if((
$user_pwd == $pwd)) {

$error 'none';

$_SESSION['key'] = $key;
$_SESSION['mail'] = $mail;
$_SESSION['pwd'] = $pwd;
$_SESSION['user'] = $user;

}

else {

$error 'pwd_err';

}

}

}

}



require 
'header.php';

?>