Premetto che leggendo sia in internet sia nel forum, dell'utilizzo delle sessioni ci ho capito poco o niente: ho capito soltanto che mi servono
In particolare, su questo forum, ho trovato un post interessante dove Xenom89 spiegava l'utilizzo:
Codice:
<?
//recuperi la variabile dal form
$nome=$_POST['nome'];
//questo serve per eliminare un'eventuale vecchia sessione
session_start();
session_unset();
session_destroy();
//inizializzi una nuova sessione
session_start();
//salvi nella variabile $_SESSION['nome'] il contenuto di $nome
$_SESSION['nome']=$nome;
?>
Ma con questo codice, chiunque si può collegare: basta che nel form prima scrive qualsiasi cosa!!...
Ho buttato giù questo codice:
Codice:
<?php
session_start(); //elimino eventuali sessioni aperte
session_unset();
session_destroy();
session_start(); //apro una nuova sessione
?>
<html>
<head>
<title>
login...alemoppo.altervista.org
</title>
Attendere il login...
<?php
$db=mysql_connect("localhost","alemoppo", "");
if($db == FALSE)
{?>
<script language="Javascript">
alert("Errore nella connessione nel database...");
setTimeout("annulla()", 100);
</script>
<?php
}
else
{
$nick=$_POST['nick'];
$pass=$post['pass'];
mysql_select_db("my_alemoppo",$db);
$testo_query="SELECT livello FROM utenti WHERE pass='$pass' AND nick='$nick'"; //livello ha valori variabili maggiori di 0 (lo userò per decidere se si è neofita, mod...)
$livello=mysql_query($testo_query,$db);
if($livello)
{
$_SESSION['livello']=$livello;
$_SESSION['nick']=$nick;
alert("connessione accettata!");
}
else
{?><script language="Javascript">
alert("Errore: password errata!");
setTimeout("annulla()", 100);
</script>
<?php
}
}
?>
<script language="Javascript">
function annulla()
{
window.navigate('index.php');
}
</script>
</body>
</html>
...Ma, (come mi è sembrato di capire in molte pagine), non posso andare a modificare $_SESSION['livello'] e $_SESSION['nick'] dopo <html>, giusto??... Ma allora, se non posso andare a invocare l'html, come faccio a vedere se il nick e la password esistono sul mio database??
Come faccio a far capire all'utente che ha sbagliato a scrivere la password?
Come devo fare??
E' totalmente sbagliato il codice che ho scritto??
p.s. e poi, a cosa serve l'ID della sessione?? Se $_SESSION['nome'] contiene qualcosa, va bene... no? e quindi a me non serve, giusto?
Scusate l'ignoranza
Grazie,
CIAO!