Ciao a tutti!
Sono un po' confuso in merito all'utilizzo delle sessioni, finora studiarci un po' sopra non mi ha aiutato, ho pochissimo tempo per fare una cosa e mi chiedevo se qualcuno potesse aiutarmi.
Ho la solita pagina login ed una volta inserito user e password corretta vorrei che, se l'utente ad entrare fosse l'amminstratore, il login portasse ad una determinata pagina, altrimenti (un qualsiasi altro utente) ad un'altra.
Ho già il login quasi integralmente fatto, ma la mia confusione in merito all'inserimento dati nella sessione mi porta a non capire come proseguire:
Codice PHP:
<?
//qui connessione db
if($_POST) {
effettua_login();
} else {
mostra_form();
}
function mostra_form() {
if(isset($_GET['msg'])) {
echo '[b]'.htmlentities($_GET['msg']).'[/b]
';
}
?>
<form name="form_login" method="post" action="">
<label>utente: <input name="nome" type="text" value="" /></label>
<label>password: <input name="password" type="password" value="" /></label>
<input name="invia" type="submit" value="Invia" /> </form>
<?
}
function effettua_login()
{
$nome = trim($_POST['nome']);
$password = trim($_POST['password']);
if(get_magic_quotes_gpc()) {
$nome = stripslashes($nome);
$password = stripslashes($password);
}
if(!$nome || !$password) {
$messaggio = urlencode("Non hai inserito il nome o la password");
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
exit;
}
$nome = mysql_real_escape_string($nome);
$password = mysql_real_escape_string($password);
$query = "SELECT userid FROM utenti WHERE user = '$nome' AND pswd = MD5('$password')";
$result = mysql_query($query);
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
$record = mysql_fetch_array($result);
if(!$record) {
$messaggio = urlencode('Nome utente o password errati');
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
} else {
session_start();
// QUI SUPPONGO DI DOVER INSERIRE IL TUTTO, MA COSA DI PRECISO?
}
}
?>
Vi ringrazio tantissimo in anticipo per l'eventuale aiuto!