Informazioni, tecnologia, libertà digitale… chiavi in mano

PHP tutorial - Come creare un semplice sistema di login

Questo script è composto da 4 file:
1. main_login.php
2. checklogin.php
3. login_success.php
4. logout.php

Procedimento.

1- Noi abbiamo utilizzato un database chiamato test, in cui abbiamo creato un tabella chiamata members.

Questo è il codice sql per creare la tabella:

MySQL:
  1. CREATE TABLE `members` (
  2. `id` INT(4) NOT NULL AUTO_INCREMENT,
  3. `username` VARCHAR(65) NOT NULL DEFAULT '',
  4. `password` VARCHAR(65) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`id`)
  6. ) TYPE=MyISAM AUTO_INCREMENT=2 ;
  7.  
  8. --
  9. -- Dumping data for table `members`
  10. --
  11.  
  12. INSERT INTO `members` VALUES (1, 'admin', 'admin');

Quindi per effettuare il login dovremo utilizzare come nome utente: admin e come password: admin

2 - Creiamo il file main_login.php
e copiamo al suo interno il seguente codice:

HTML:
  1. <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  2. <form name="form1" method="post" action="checklogin.php"><input type="hidden" name="phpMyAdmin" value="V0N0db6Fl62QWr6eBkly75xAGn3" />
  3. <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
  4. <td colspan="3"><strong>Member Login </strong></td>
  5. </tr>
  6. <td width="78">Username</td>
  7. <td width="6">:</td>
  8. <td width="294"><input name="myusername" type="text" id="myusername"></td>
  9. </tr>
  10. <td>Password</td>
  11. <td>:</td>
  12. <td><input name="mypassword" type="text" id="mypassword"></td>
  13. </tr>
  14. <td>&nbsp;</td>
  15. <td>&nbsp;</td>
  16. <td><input type="submit" name="Submit" value="Login"></td>
  17. </tr>
  18. </table>
  19. </td>
  20. </form>
  21. </tr>
  22. </table>

3 - Creiamo il file checklogin.php e inseriamo al suo interno il seguente codice:

PHP:
  1. <?php
  2. $host="localhost"; // Hostname
  3. $username=""; // Mysql username
  4. $password=""; // Mysql password
  5. $db_name="test"; //Nome del Database
  6. $tbl_name="members"; // Nome della Tabella
  7.  
  8. // Procedimento per connettersi al Database
  9. mysql_connect("$host", "$username", "$password")or die("cannot connect");
  10. mysql_select_db("$db_name")or die("cannot select DB");
  11.  
  12. // Nome utente e password inviate attraverso il form
  13. $myusername=$_POST['myusername'];
  14. $mypassword=$_POST['mypassword'];
  15.  
  16. $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
  17. $result=mysql_query($sql);
  18.  
  19. // Mysql_num_row is counting table row
  20. $count=mysql_num_rows($result);
  21. // If result matched $myusername and $mypassword, table row must be 1 row
  22.  
  23. if($count==1){
  24. // Register $myusername, $mypassword and redirect to file "login_success.php"
  25. session_register("myusername");
  26. session_register("mypassword");
  27. header("location:login_success.php");
  28. }
  29. else {
  30. echo "Attenzione username o password errati";
  31. }
  32. ?>

4. Creiamo il file login_success.php e inseriamo al suo interno il seguente codice:

PHP:
  1. // Controlla se la sessione è stata registrata, altrimenti rimanda alla pagina di login
  2. // Questa prima parte dobbiamo inserirla in tutte le pagine che vogliamo proteggere con password prima di qualsiasi altra cosa
  3. <?
  4. if(!session_is_registered(myusername)){
  5. header("location:main_login.php");
  6. }
  7. ?>

HTML:
  1. Login Successful
  2. </body>
  3. </html>

5. Infine creiamo il file logout.php che ci pemetterà di distruggere la sessione:

PHP:

In questo modo abbiamo creato un semplice sistema di login in php + mysql

Ultimi 5 articoli di lordmarin

Viewing 22 Comments