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.