Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Blokowanie użytkowników
Forum PHP.pl > Forum > Przedszkole
damain1960
Mam skrypt logowania i chcę dodać linijkę która sprawdza w bazie danych czy użytkownik jest zablokowany "block" i aktywny "active"
.

plik index.php:

  1. <?php session_start();
  2. $mysql_hostname ="local host";
  3. $mysql_user ="uzytkownik";
  4. $mysql_password ="haslo";
  5. $mysql_database ="nazwa BAZY";
  6. $bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
  7. mysql_select_db($mysql_database, $bd) or die("Could not select database");
  8.  
  9. //Code for Registration
  10. if(isset($_POST['signup']))
  11. {
  12. $fname=$_POST['fname'];
  13. $lname=$_POST['lname'];
  14. $email=$_POST['email'];
  15. $password=$_POST['password'];
  16. $contact=$_POST['contact'];
  17. $enc_password=($password);
  18. $a=date('Y-m-d');
  19. $msg=mysql_query("insert into users(fname,lname,email,password,contactno,posting_date) values('$fname','$lname','$email','$enc_password','$contact','$a')");
  20. if($msg)
  21. {
  22. echo "<script>alert('Register successfully');</script>";
  23. }
  24. }
  25.  
  26. // Code for login system
  27. if(isset($_POST['login']))
  28. {
  29. $password=$_POST['password'];
  30. $dec_password=($password);
  31. $ret= mysql_query("SELECT * FROM users WHERE email='".$_POST['uemail']."' and password='$dec_password'");
  32. $num=mysql_fetch_array($ret);
  33. if($num>0)
  34. {
  35. $extra="welcome.php";
  36. $_SESSION['login']=$_POST['uemail'];
  37. $_SESSION['id']=$num['id'];
  38. $_SESSION['name']=$num['fname'];
  39. $host=$_SERVER['HTTP_HOST'];
  40. $uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
  41. header("location:http://$host$uri/$extra");
  42. exit();
  43. }
  44. else
  45. {
  46. echo "<script>alert('Invalid username or password');</script>";
  47. $extra="index.php";
  48. $host = $_SERVER['HTTP_HOST'];
  49. $uri = rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
  50. //header("location:http://$host$uri/$extra");
  51. exit();
  52. }
  53. }
  54.  
  55. //Code for Forgot Password
  56.  
  57. if(isset($_POST['send']))
  58. {
  59. $row1=mysql_query("select email,password from users where email='".$_POST['femail']."'");
  60. $row2=mysql_fetch_array($row1);
  61. if($row2>0)
  62. {
  63. $email = $row2['email'];
  64. $subject = "Information about your password";
  65. $password=$row2['password'];
  66. $message = "Your password is ".$password;
  67. mail($email, $subject, $message, "From: $email");
  68. echo "<script>alert('Your Password has been sent Successfully');</script>";
  69. }
  70. else
  71. {
  72. echo "<script>alert('Email not register with us');</script>";
  73. }
  74. }
  75.  
  76. ?>
  77. <!DOCTYPE html>
  78. <html>
  79. <head>
  80. <title>Login System</title>
  81. <link href="css/style.css" rel='stylesheet' type='text/css' />
  82. <meta name="viewport" content="width=device-width, initial-scale=1">
  83. <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2">
  84. <meta name="keywords" content="Elegent Tab Forms,Login Forms,Sign up Forms,Registration Forms,News latter Forms,Elements"./>
  85. <script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
  86. </script>
  87. <script src="js/jquery.min.js"></script>
  88. <script src="js/easyResponsiveTabs.js" type="text/javascript"></script>
  89. <script type="text/javascript">
  90. $(document).ready(function () {
  91. $('#horizontalTab').easyResponsiveTabs({
  92. type: 'default',
  93. width: 'auto',
  94. fit: true
  95. });
  96. });
  97. </script>
  98. <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,600,700,200italic,300italic,400italic,600italic|L
    ora:400,700,400italic,700italic|Raleway:400,500,300,600,700,200,100' rel='stylesheet' type='text/css'>
  99. </head>
  100. <body>
  101. <div class="main">
  102. <h1>DMN Rejestracja i Logowanie</h1>
  103. <div class="sap_tabs">
  104. <div id="horizontalTab" style="display: block; width: 100%; margin: 0px;">
  105. <ul class="resp-tabs-list">
  106. <li class="resp-tab-item" aria-controls="tab_item-0" role="tab"><div class="top-img"><img src="images/top-note.png" alt=""/></div><span>Rejestracja</span>
  107.  
  108. </li>
  109. <li class="resp-tab-item" aria-controls="tab_item-1" role="tab"><div class="top-img"><img src="images/top-lock.png" alt=""/></div><span>Logowanie</span></li>
  110. <li class="resp-tab-item lost" aria-controls="tab_item-2" role="tab"><div class="top-img"><img src="images/top-key.png" alt=""/></div><span>Zapomniałem hasła</span></li>
  111. <div class="clear"></div>
  112. </ul>
  113.  
  114. <div class="resp-tabs-container">
  115. <div class="tab-1 resp-tab-content" aria-labelledby="tab_item-0">
  116. <div class="facts">
  117.  
  118. <div class="register">
  119. <form name="registration" method="post" action="" enctype="multipart/form-data">
  120. <p>Login:</p>
  121. <input type="text" class="text" value="" name="fname" required >
  122. <p>Imię:</p>
  123. <input type="text" class="text" value="" name="lname" required >
  124. <p>Nazwisko:</p>
  125. <input type="text" value="" name="contact" required>
  126. <p>Adres email:</p>
  127. <input type="text" class="text" value="" name="email" >
  128. <p>Hasło:</p>
  129. <input type="password" value="" name="password" required>
  130. <div class="sign-up">
  131. <input type="reset" value="Reset">
  132. <input type="submit" name="signup" value="Sign Up" >
  133. <div class="clear"> </div>
  134. </div>
  135. </form>
  136.  
  137. </div>
  138. </div>
  139. </div>
  140. <div class="tab-2 resp-tab-content" aria-labelledby="tab_item-1">
  141. <div class="facts">
  142. <div class="login">
  143. <div class="buttons">
  144.  
  145.  
  146. </div>
  147. <form name="login" action="" method="post">
  148. <input type="text" class="text" name="uemail" value="" placeholder="Wpisz swój adres email:" ><a href="#" class=" icon email"></a>
  149.  
  150. <input type="password" value="" name="password" placeholder="Podaj hasło:"><a href="#" class=" icon lock"></a>
  151.  
  152. <div class="p-container">
  153.  
  154. <div class="submit two">
  155. <input type="submit" name="login" value="LOG IN" >
  156. </div>
  157. <div class="clear"> </div>
  158. </div>
  159.  
  160. </form>
  161. </div>
  162. </div>
  163. </div>
  164. <div class="tab-2 resp-tab-content" aria-labelledby="tab_item-1">
  165. <div class="facts">
  166. <div class="login">
  167. <div class="buttons">
  168.  
  169.  
  170. </div>
  171. <form name="login" action="" method="post">
  172. <input type="text" class="text" name="femail" value="" placeholder="Wpisz swój adres email:" required ><a href="#" class=" icon email"></a>
  173.  
  174. <div class="submit three">
  175. <input type="submit" name="send" onClick="myFunction()" value="Wyślij" >
  176. </div>
  177. </form>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. </div>
  185.  
  186. </body>
  187. </html>
Star
Dodaj w tabeli users typ danych enum z opcją blocked lub active i wpisz coś w stylu
  1. if($num['status'] == 'blocked') exit("Nie możesz się zalogować, Twoje konto zostało zablokowane!");
damain1960
Dziękuję.

A czy nie mógł byś dodać tej linijki do kodu index.php
MGie
  1. // Code for login system
  2. ...
  3. //num>0 - logowanie
  4. if($num>0)
  5. {
  6. if( not blocked )
  7. {
  8. //utwórz sesje
  9. }
  10. else
  11. {
  12. echo "Zbanowany";
  13. }
  14. }
damain1960
Nie działa mógł by ktoś dodać tą linijkę do kodu index.php i wstawić cały kod bo nie wiem czy ja coś źlę robię czy ta linijka kodu jest błędna?
Star
  1. if(isset($_POST['login']))
  2. {
  3. $password=$_POST['password'];
  4. $dec_password=($password);
  5. $ret= mysql_query("SELECT * FROM users WHERE email='".$_POST['uemail']."' and password='$dec_password'");
  6. $num=mysql_fetch_array($ret);
  7.  
  8. if($num)
  9. {
  10. if($num['status'] == 'blocked') exit("Nie możesz się zalogować, Twoje konto zostało zablokowane!"); // musisz utworzyc "status" w swojej tabeli
  11.  
  12. $_SESSION['login']=$_POST['uemail'];
  13. $_SESSION['id']=$num['id'];
  14. $_SESSION['name']=$num['fname'];
  15.  
  16. $extra="welcome.php";
  17. $host=$_SERVER['HTTP_HOST'];
  18. $uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
  19. header("location:http://$host$uri/$extra");
  20. exit();
  21. }
  22. else
  23. {
  24. echo "<script>alert('Invalid username or password');</script>";
  25. $extra="index.php";
  26. $host = $_SERVER['HTTP_HOST'];
  27. $uri = rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
  28. //header("location:http://$host$uri/$extra");
  29. exit();
  30. }
  31. }
damain1960
Wszystko działa ok i jeszczę raz dziękuję!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.