Salve a tutti.
Ho problemi con le sessioni in php, praticamente ho questi file (per ora) sul mio server.
index.php
Codice PHP:
<?php
if(session_is_registered('nick')) {
require ('pannello_utente.php');
} elseif($_GET['pag']!=login) {
echo 'loggati </br> <a href=?pag=login>qui</a>';
} else {
}
?>
//HTML...
<?php
$pag=$_GET['pag'];
include("$pag.php")
?>
Questa richiama il pannello utente se c'è la sessione, senò restituisce il link al login.
Sotto richiama ?pag=NOMEPAGINA
la pagina login.php è un semplice form che indirizza a ?pag=check
check.php è questa
Codice PHP:
<?php
require('db.php');
$tbl='tst_users';
mysql_connect("$db_host", "$db_username", "$db_password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB");
$nick=$_POST['nick'];
$password=$_POST['password'];
$sql="SELECT * FROM $tbl WHERE nick='$nick' and password='$password'"; $result=mysql_query($sql);
$check=mysql_num_rows($result);
if($check == 1) { session_register("nick");
session_register("password");
echo"Log-in effettuato!!! Yeee";
header("location:");
} else {
echo"Errore: nome utente o password errati";
}
?>
Il pannello utente, la pagina in php che viene richiamata se si è loggati è questa
Codice PHP:
<?php
$nick=$_SESSION['nick'];
echo"Benvenuto $nick, ecco il tuo pannello utente:";
echo"
<a href=?pag=newtest>Nuovo test</a>
<a href=?pag=testlist>I tuoi test</a>
<a href=?pag=options>Opzioni</a>";
?>
Purtoppo ho qualche piccolo problema... alla prima volta la variabile $nick nel pannello utente (qui sopra) viene scritta come dovuto, alla prossima pagina invece viene lasciato uno spazio vuoto, non riesco a trovare l'inghippo, anche leggendo guide (anche qui su html.it) non riesco a capire come funzionano le sessioni con i cookie, come prendere e scriverci dati e sopratutto quanto sono valide.
Sono hostato su AlterVista, momenteaneamente, quindi vi dico già che non posso toccare il php.ini
Ringrazio tutti coloro che mi aiuteranno.
Buona serata.