Mi succede una cosa strana; questo codice controlla se la sessione è valida e nel caso contrario ti rimanda alla pagina del login.
codice:
<?
session_save_path("/tmp");
session_start();

include("config.php");
 
if (!$_SESSION['valido']) {
	session_destroy();
	header("Location: index.php");
} elseif ($_SESSION['valido'] == "false") {
	session_destroy();
	header("Location: index.php");
}
?>
Se sono in locale mi funziona perfettamente e dopo che eseguo il login mi fa entrare. Quando testo online, invece, eseguendo il login corretto mi rimanda all'index.php.

[questo è il codice che uso per il login]
codice:
ini_set('session.save_path','/tmp'); 
session_start();
include ('config.php');

if (!empty($_POST['user']) and !empty($_POST['password'])) { 	
			$pass = md5($_POST['password']);
			$user = $_POST['user'];
				
			$sql = "SELECT * FROM ". $prefix ."users WHERE username = '$user' AND password = '$pass'";
			 $consulta=mysql_query($sql,$conn);			
			$nom=mysql_num_rows($consulta);
			if ($nom==1) {			    
				$_SESSION['valido'] = "true";		
				header("Location: main.php");
			} else {				
				$_SESSION['valido'] = "false";
				$error = " Errore: Nome e Password non validi.";
			}
		} else {
	
	if (!isset($_SESSION['valido'])){	
	 	$_SESSION['valido'] = "false";	
	} 
	$error = "";
}
Allora mi chiedo:
può essere che online non viene registrata la sessione?
Può dipendere da: session_save_path("/tmp");?

Ripeto in locale funziona perfettamente.