ciao a tutti
ho fatto un sistema di login per un area riservata
un form invia user e pass alla pagina login.php che crea una sessione e carica riservata.php
login.php
Codice PHP:
<?
$nome = $_POST['nome'];
if (is_numeric($_POST['password'])) {
settype($_POST['password'], 'int');
$password = $_POST['password'];
}
if (preg_match("/^[a-z0-9]{4,12}$/i", $nome) and preg_match("/^[a-z0-9]{4,12}$/i", $password)) {
$pagina = "riservata.php";
$connection= mysql_connect("xxxxxxxx","xxxxxx","xxxxxxxxxxx");
$db=mysql_select_db("xxxxxxxxx",$connection);
$query = "SELECT * FROM area_riservata WHERE nome = '$nome' AND password = '$password'";
$result = mysql_query($query) or die (mysql_error());
$totalrows = mysql_num_rows($result);
if($totalrows == 1){
session_start();
$_SESSION['nome'] = $nome;
print("<script>window.location='".$pagina."'</script>");
}
else{
echo "I dati inseriti non sono presenti nel database.";
}
mysql_close($connection);
}
else {
echo "i dati inseriti non corrispondono ai requisiti richiesti";
}
?>
riservata.php
Codice PHP:
<?php
if(session_id() == "") {
session_start();
}
if(!isset($_SESSION['nome']) || $_SESSION['nome'] != $nome){
print("<script>window.location='index.php'</script>");
}
?>
<html><head><boby>contenuto dela pagina</boby></head></html>
nel mio hosting (PHP Version 4.4.6 e register_globals ON ON) funziona tutto alla perfezione.
sul hosting del cliente (PHP Version 4.3.11 e register_globals OFF OFF) non mi mantiene la sessione durante il passaggio tra login.php e riservata.php.
sapete come posso risolvere?
ciao e grazie