In questo articolo vedremo come sia possibile tramite ajax/php/mysql autenticare gli utenti registrati e farli accedere ad un'area riservata.
Il database
La prima cosa che vedremo è il database mysql. La nostra tabella (users) del database riservata agli utenti è costituita da 3 campi:
username, password, id
con ovvio significo degli stessi.
La pagina di login
La nostra pagina che effettua il login, avrà due chiamate a due file javascript e due campi per l'inserimento dei valori username e password.
<html>
<head>
<title>AJAX Login System
<script src="md5.js" type="text/javascript">
</script><script type="text/javascript" src="ajaxpw.js">
</script></title></head>
<body>
<form action="post" onSubmit="return false" name="form1">
<div id="login">
<label for="username">Username: </label>
<input type="text" name="username" id="username" size=20/>
<label for="password">Password: </label>
<input type="password" name="password" id="password" size=20/>
<input type="button" onclick="javascript:verifica(document.form1.username.value,document.form1.password.value);" value="Login"/>
</div>
<div id="dati"></div>
</form>
</body>
</html>
Le chiamate alle funzioni javascript:
<script src="md5.js" type="text/javascript">
</script><script type="text/javascript" src="ajaxpw.js">
</script>
richiamano uno script javascript che si occupa di criptare tramite md5 i dati trasmessi dal modulo mentre il secondo contiene lo script che invia i dati tramite ajax alla pagina di login login.php.
La pagina login.php
< ?
$username=$_GET['username'];
$password=$_GET['password'];
mysql_connect("localhost","user","pass")or die("non riesco a connettermi".mysql_error());
mysql_select_db("db")or die("non riesco selezionare il database");
$sql = "SELECT * FROM users WHERE username = '$username' and password='$password'";
$dati=mysql_query($sql);
$numero_righe=mysql_num_rows($dati);
if($numero_righe>0){
while($array=mysql_fetch_array($dati)){
if (md5($array[password]) == $password){
echo"Loggato";
$_SESSION['temput']=$username;
$_SESSION['temppass']=$password;
}
else echo"Password non corrispondente";
}
}else echo "Utente non trovato";
?>
Questa pagina nn fa altro che ricevere i dati e controllare che vi siano corrispondenze nel db. Se c'è ne sono ritorna il messaggio "Loggato" altrimenti no.
Download files dell'articolo
Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.