Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. <?php
  2. session_start();
  3.  
  4. $conn = mysql_connect("127.0.0.1","root","") or die("errore conn server");
  5. $db = mysql_select_db("eser21gen") or die("errore conn db");
  6.  
  7. function testata() {
  8. echo "<html>\n";
  9. echo "<head>\n";
  10. echo "<title>Esercizio</title>\n";
  11. echo '<meta charset="UTF-8">'."\n";
  12. echo '<link href="w3.css" type="text/css" rel="stylesheet">'."\n";
  13. echo '<meta name="viewport" content="width=device-width, initial-scale=1">'."\n";
  14. echo '<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">'."\n";
  15. echo "</head>\n";
  16. echo "<body>\n";
  17. echo '<div class="w3-container">'."\n";
  18. }
  19.  
  20. function footer() {
  21. echo "</div>\n";
  22. echo "</body>\n";
  23. echo "</html>\n";
  24. }
  25.  
  26. if ($_GET["pag"]=="" && $_POST["caso"]=="") {
  27. //home page
  28. testata();
  29. if ($_SESSION["idut"]=="") {
  30. //sessione vuota, mostro il form di login
  31. echo '<h1>Benvenuto sul nostro sito</h1>';
  32. echo '<p><a href="sessioni.php?pag=registrazione">Registra un nuovo utente</a></p>';
  33. echo '<form method="post" action="sessioni.php">';
  34. echo '<p><input type="text" name="username" placeholder="username"></p>';
  35. echo '<p><input type="password" name="password" placeholder="password"></p>';
  36. echo '<input type="hidden" name="caso" value="login">';
  37. echo '<p><input type="submit" value="accedi"></p>';
  38. echo "</form>\n";
  39. } else {
  40. //sessione esistente, mostro home page per utente loggato
  41. echo '<h1>Benvenuto '.$_SESSION["nome"]." ".$_SESSION["cognome"]."</h1>\n";
  42. echo '<p><a href="sessioni.php?pag=modpwd">Modifica la tua password</a></p>';
  43. echo '<p><a href="sessioni.php?pag=logout">Chiudi sessione</a></p>';
  44. }
  45. footer();
  46. }
  47.  
  48. if($_GET["pag"]=="modpwd") {
  49. testata();
  50. echo '<h1>Modificazione della password</h1>'."\n";
  51. echo '<form method="post" action="sessioni.php">'."\n";
  52. echo '<p><input type="password" name="oldpwd" placeholder="Password precedente" required></p>'."\n";
  53. echo '<p><input type="password" name="pwd" placeholder="Nuova password" required></p>'."\n";
  54. echo '<input type="hidden" name="pag" value="modpwd2">'."\n";
  55. echo '<p><input type="submit" value="Modifica password">'."\n";
  56. footer();
  57. }
  58.  
  59. if($_GET["pag"]=="modpwd2") {
  60. $q = "select * utenti where idut=".$_SESSION["idut"];
  61. $r = mysql_query($q) or die (mysql_error());
  62. $riga = mysql_fetch_assoc($r);
  63. if(password_verify($_POST["oldpwd"],$riga["password"])) {
  64. $u = "update utenti set password='".password_hash($_POST["pwd"],PASSWORD_DEFAULT)."' where idut=".$_SESSION["idut"];
  65. $r = mysql_query($u) or die (mysql_error());
  66. header("Location:sessioni.php");
  67. } else {
  68. header("Location:sessioni.php=?pag=errnpwd");
  69. }
  70. }
  71. if ($_GET["pag"]=="errnpwd")
  72. {
  73. echo '<h1>Vecchia password non inserita.</h1>'."\n";
  74. echo '<p><a href="sessioni.php">Ritorna alla home</a></p>';
  75. }
  76.  
  77. if ($_GET["pag"]=="logout") {
  78. session_unset();
  79. session_destroy();
  80. header("Location:sessioni.php");
  81. }
  82.  
  83. if ($_GET["pag"]=="registrazione") {
  84. testata();
  85. echo '<h1>Registra un nuovo utente</h1>';
  86. echo '<form method="post" action="sessioni.php">';
  87. echo '<p>Nome<br><input type="text" name="nome"></p>'."\n";
  88. echo '<p>Cognome<br><input type="text" name="cognome"></p>'."\n";
  89. echo '<p>Username<br><input type="text" name="username"></p>'."\n";
  90. echo '<p>Password<br><input type="password" name="pwd1"></p>'."\n";
  91. echo '<p>Ripeti password<br><input type="password" name="pwd2"></p>'."\n";
  92. echo '<input type="hidden" name="caso" value="registrazione2">';
  93. echo '<p><input type="submit" value="registrati"></p>';
  94. echo "</form>\n";
  95. footer();
  96. }
  97.  
  98. if ($_POST["caso"]=="registrazione2") {
  99. //Creazione utente nel DB
  100. testata();
  101. if ($_POST["pwd1"]==$_POST["pwd2"]) {
  102. //password ok, possiamo procedere
  103. $q = "insert into utenti (nome,cognome,username,password,liv) values (";
  104. $q.= "'".mysql_real_escape_string($_POST["nome"])."',";
  105. $q.= "'".mysql_real_escape_string($_POST["cognome"])."',";
  106. $q.= "'".mysql_real_escape_string($_POST["username"])."',";
  107. $q.= "'".password_hash($_POST["pwd1"],PASSWORD_DEFAULT)."',";
  108. $q.= "'U')";
  109. $rq = mysql_query($q) or die("errore creazione utente");
  110. echo '<p>Utente registrato</p>';
  111. echo '<p><a href="sessioni.php">Torna alla home</a></p>';
  112. } else {
  113. //password non coincidono, errore
  114. echo '<p>Le password non coincidono.</p>';
  115. echo '<p><a href="sessioni.php?pag=registrazione">Torna alla registrazione</a></p>';
  116. }
  117. footer();
  118. }
  119.  
  120. if ($_POST["caso"]=="login") {
  121. //contrtollo delle credenziali e creazione sessione
  122. $q = "select * from utenti where username='".$_POST["username"]."'";
  123. $rq = mysql_query($q) or die("errore individuazione username");
  124. $num = mysql_num_rows($rq);
  125. if ($num == 1) {
  126. $riga = mysql_fetch_assoc($rq);
  127. if (password_verify($_POST["password"],$riga["password"])) {
  128. //password correta, creao i dati di sessione
  129. $_SESSION["idut"]=$riga["idut"];
  130. $_SESSION["nome"]=$riga["nome"];
  131. $_SESSION["cognome"]=$riga["cognome"];
  132. $_SESSION["username"]=$riga["username"];
  133. $_SESSION["liv"]=$riga["liv"];
  134. header("Location:sessioni.php");
  135. } else {
  136. //password errata
  137. testata();
  138. echo "<p>Password errata</p>";
  139. footer();
  140. }
  141. } else {
  142. //username non trovata
  143. testata();
  144. echo "<p>Username inesistente</p>";
  145. footer();
  146. }
  147.  
  148. }
  149.  
  150.  
  151.  
  152. mysql_close($conn);
  153.  
  154. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement