sono arrivato a questo punto:
<?
include("gestconfig.php");
// mi connetto al db
$link = mysql_connect($db_host, $db_user, $db_password) or die ("non riesco a connettermi al database");
// verifico se esistono username e password
mysql_select_db($database);
$sql = "SELECT * FROM utenti WHERE username = '$username' && password = '$password'";
$query = mysql_db_query ($database,$sql) or die ("Impossibile eseguire l'interrogazione");
// estraggo i risultati della query
$array=mysql_fetch_array($query);
$id_user = "$array[id_user]";
// verifica degli errori
echo mysql_error();
// se username e password esistono registro la sessione
if (($array['username'] == $username) && ($array['password'] == $password))
{
// cancello le sessioni doppie
mysql_select_db($database);
$sql_delete = "DELETE FROM sessioni WHERE id_sess={$id_sess} OR UNIX_TIMESTAMP(NOW()) - last_action => {$_SESSIONS_VARS['gc_time']}";
$query_delete = mysql_db_query ($database,$sql_delete);
// nuovo id_sess
$id_sess = md5(uniqid(microtime()));
// inserisco i nuovi dati
mysql_select_db($database);
$sql_insert = "INSERT INTO session (id_sess, id_user, ip, user_agent, last_action) VALUES ('$id_sess','$array[id_user]','{$_SERVER['REMOTE_ADDR']}','{$_SERVER['HTTP_USER_AGENT']}',UNIX_TIMESTAMP(NOW()))";
$query_insert = mysql_db_query ($database,$sql_insert);
// aggiorno i dati nella tabella utenti
mysql_select_db($database);
$sql_update = "UPDATE utenti SET last_login = UNIX_TIMESTAMP(NOW()) WHERE id_user = {$id_user}";
$query_update = mysql_db_query ($database,$sql_update);
// registro il biscottino
setcookie("s", $id_sess, time()+3600);
// verifica degli errori
echo mysql_error();
echo "Ok - riuscito";
echo "
$_COOKIE[s]";
echo "
$id_sess";
}
// se la login non ha ha successo chiudo e stampo errore
else
{
echo "Errore";
}
mysql_close($link);
?>
avrei un pochino di domande, sono ottuso lo avrai capito,
in questo modo ho notato che anche s effettuo una login non corretta riesco ugualmente ad entrare (mancherebbe la parte che dice she se pwd e usr sono falsi blocco il tutto ma non so come farla)
inoltre, come avrai notato, alla fine stampavo il coockie e la var $id_sess come verifica; teoricamente le due dovrebbero coincidere invece non lo fanno praticamente una precede l'altra (il coockie è quello della sessione precedente!?!)
scusa ma il logout mica lo ho capito
il check lo metto in questa pagina o in quella protetta?
p.s. ti ho aggiunto sul mio icq ho fatto male?