Il metodo che preferisco io è questo:
crei una tabella degli utenti con i campi(id,user,pass,datadinascita,ecc)
e questa ti serve per far registrare gli utenti e fare i controlli sul user e pass, per una maggiore sicurezza la pass la devi inviare in formato md5.
Poi ti crei un'altra tabella con id,id_user,id_sessione.
quando l'utente fa il login facciamo che manda le variabile con il metodo post.
Tu devi fare un primo controllo nella tabella degli utenti in questo modo.
//Ti prendi il nome
$nome=$_POST['user'];
//ti prendi la pass in formato md5
$pass=md5($_POST['pass']);
//ti connetti al database
$db=mysql_connect("host","user","pass");
//selezioi il database
mysql_select_db("nome_database",$db);
//crei la query per vedere se user e pass sono corretti
$query="Select * from tabella_utenti where user='$nome' and pass='$pass';
//applichi la query
$result = mysql_query($query,$db);
//se il risultato è = 1 significa che user e pass sono corretti
if(mysql_num_rows($result)==1){
//ti prendi l'id dell'utente
$idu=mysql_result($result,0,"id");
//fai partire la sessione
session_start();
//ti prendi l'id di sessione
$ids=session_id();
//ceri la query per inserire tutto nel database delle sessioni
$query="insert into tabella_sessioni (id_user,id_session)values('$idu',$ids)";
//applichi la query
$result = mysql_query($query,$db);
}else{
echo"utente non autentificato";
}
questo è il file per fare il login
Adesso devi creare un file per vedere se sei autentificato
//apri la sessione
session_start()
//ti prendi l'id di sessione
$ids=session_id()
//ti connetti
$db=mysql_connect("host","user","pass");
//selezioi il database
mysql_select_db("nome_database",$db);
//crei la query per catturare l'id registrato
$query="Select * from tabella_sessioni where session_id='$ids'";
//applichi la query
$result = mysql_query($query,$db);
$idu=mysql_result($result,0,"id_user");
//se l'utente è autentificato
if(mysql_num_rows($result)>0){
//creo una query e mi prendo il nome dell'utente
$query="Select * from tabella_utenti where id='$idu'";
//applico la query
$result = mysql_query($query,$db);
$nome=mysql_result($result,0,"user");
echo"Ciao $nome!!!";
}else{
die("non hai i permessi per accedere a questa pagina.
}
per fare il logout basta che crei una pagina del genere
//apri la sessione
session_start()
//ti prendi l'id di sessione
$ids=session_id()
//ti connetti
$db=mysql_connect("host","user","pass");
//selezioi il database
mysql_select_db("nome_database",$db);
//crei la query per catturare l'id registrato
$query="delete * from tabella_sessioni where session_id='$ids'";
//applichi la query
$result = mysql_query($query,$db);
Credo che dovrebbe funzionare.Ci può essere qualche errore perchè te l'ho fatto adesso e non l'ho provato.

Rispondi quotando