Premesso che ho la versione 4.2.x del php su locale e la 4.4.3 online, e che ho guardato la pillola sulle sessioni, devo dire che ho difficoltà ad applicarle per il mio sito.
Le cose stanno così, ho un sito che ricarica sempre la stessa pagina, la index, e solo due volte può accedere a due pagina riservate, pubblica e edita.
Ho pensato di mettere un piccolo form in index con cui fare una login ed evitare quindi di riscrivere la user e la password ad ogni accesso. La login accede alla pagina verifica_login.php:
Codice PHP:
<?
session_start();
include("config.php");
include("errore.php");
require("connessione.php");
//* ricevo i dati dal form *//
//* dati login *//
$nome_s = $_POST['nome'];
$pass_s = $_POST['password'];
//*controllo se utente è registrato*//
$query="select * from utenti where nome = '$nome_s' and password ='$pass_s'";
$result = mysql_query($query, $db);
if (mysql_num_rows($result) == 0)
{
Header("Location: [url]http://www.mondodiholden.altervista.org/errore_reg.php[/url]");
}
else
{
$_SESSION[‘nome_s’] = $nome_s;
$_SESSION[‘pass_s’] = $pass_s;
Header("Location: [url]http://localhost/associazione/index.php[/url]");
/*Header("Location: [url]http://www.mondodiholden.altervista.org/index.php[/url]");*/
if (mysql_query($query, $db))
echo "";
else
echo (errore_sql());
mysql_close($db);
}
?>
Facendo una stampa a video vedo la variabile di sessione che quindi è stata settata correttamente.
Quando però torno all'index e imposto le prime righe in questo modo:
Codice PHP:
session_start();
$nome_s = $_SESSION['nome_s'];
echo $nome_s;
if (isset($_SESSION['nome_s']))
{
$sessione = "s";
$nome_s = $_SESSION['nome_s'];
echo $nome_s;
}
Non stampa a video nulla, che posso fare?
Nicola