Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Logowanie
Forum PHP.pl > Forum > Przedszkole
mrk9109
Witam mam taki problem otóż chce sobie przerobić logowanie cms`a noo i wszystko idzie oki po zalogowaniu przenosi do index.php lecz gdy dane są błędne nie pokazuję błędów nie wiem dlaczego sad.gif

  1. <?php
  2.  
  3. include("_mysql.php");
  4. include("_settings.php");
  5.  
  6. // copy pagelock information for session test + deactivated pagelock for checklogin
  7. $closed_tmp = $closed;
  8. $closed = 0;
  9.  
  10. include("_functions.php");
  11.  
  12. //settings
  13.  
  14. $sleep = 1; //idle status for script if password is wrong?
  15.  
  16. //settings end
  17. $_language->read_module('checklogin');
  18.  
  19. $get = safe_query("SELECT * FROM ".PREFIX."banned_ips WHERE ip='".$GLOBALS['ip']."'");
  20. if(mysql_num_rows($get) == 0){
  21. $ws_pwd = md5(stripslashes($_POST['pwd']));
  22. $ws_user = $_POST['ws_user'];
  23.  
  24. $check = safe_query("SELECT * FROM ".PREFIX."user WHERE nickname='".$ws_user."'");
  25. $anz = mysql_num_rows($check);
  26. $login = 0;
  27.  
  28.  
  29. if($anz) {
  30.  
  31. $check = safe_query("SELECT * FROM ".PREFIX."user WHERE nickname='".$ws_user."' AND activated='1'");
  32. if(mysql_num_rows($check)) {
  33.  
  34. $ds=mysql_fetch_array($check);
  35.  
  36. // check password
  37. $login = 0;
  38. if($ws_pwd == $ds['password']) {
  39.  
  40. //session
  41. $_SESSION['ws_auth'] = $ds['userID'].":".$ws_pwd;
  42. $_SESSION['ws_lastlogin'] = $ds['lastlogin'];
  43. $_SESSION['referer'] = $_SERVER['HTTP_REFERER'];
  44. //remove sessiontest variable
  45. if(isset($_SESSION['ws_sessiontest'])) unset($_SESSION['ws_sessiontest']);
  46. //cookie
  47. setcookie("ws_auth", $ds['userID'].":".$ws_pwd, time()+($sessionduration*60*60));
  48. //Delete visitor with same IP from whoisonline
  49. safe_query("DELETE FROM ".PREFIX."whoisonline WHERE ip='".$GLOBALS['ip']."'");
  50. //Delete IP from failed logins
  51. safe_query("DELETE FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  52. $login = 1;
  53. $error = $_language->module['login_successful'];
  54. }
  55. elseif(!($ws_pwd == $ds['password'])) {
  56. if($sleep) sleep(5);
  57. $get = safe_query("SELECT wrong FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  58. if(mysql_num_rows($get)){
  59. safe_query("UPDATE ".PREFIX."failed_login_attempts SET wrong = wrong+1 WHERE ip = '".$GLOBALS['ip']."'");
  60. }
  61. else{
  62. safe_query("INSERT INTO ".PREFIX."failed_login_attempts (ip,wrong) VALUES ('".$GLOBALS['ip']."',1)");
  63. }
  64. $get = safe_query("SELECT wrong FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  65. if(mysql_num_rows($get)){
  66. $ban = mysql_fetch_assoc($get);
  67. if($ban['wrong'] == $max_wrong_pw){
  68. $bantime = time() + (60*60*3); // 3 hours
  69. safe_query("INSERT INTO ".PREFIX."banned_ips (ip,deltime,reason) VALUES ('".$GLOBALS['ip']."',".$bantime.",'Possible brute force attack')");
  70. safe_query("DELETE FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  71. }
  72. }
  73. $error= $_language->module['invalid_password'];
  74. }
  75. }
  76. else $error= $_language->module['not_activated'];
  77.  
  78. }
  79. else $error=str_replace('%nickname%', htmlspecialchars($ws_user), $_language->module['no_user']);
  80.  
  81. }
  82. else{
  83. $login = 0;
  84. $data = mysql_fetch_assoc($get);
  85. $error = str_replace('%reason%', $data['reason'], $_language->module['ip_banned']);
  86. }
  87.  
  88. if($login) {
  89. header("Location: index.php");
  90. ; }
  91. else{
  92. header("Location: index.php");
  93. $error;
  94. }
  95. ?>
  96.  

drozdii07
Domyslam sie ze $error to bledy, wiec chyba trzeba zrobic echo $error zeby sie cos pojawilo
CuteOne
  1. if($login) {
  2.  
  3. header("Location: index.php");
  4. }
  5. else{
  6.  
  7. echo $error;
  8. }
mrk9109
dobrze tylko ja chce to wywolac w indexie a teraz to mi pokazuje w logowanie.php jak to zmienic ?
drozdii07
Zapis do sesji lub przeslij przez ukryte pole formularza (hidden)
mrk9109
poradziłem sobie smile.gif dzięki za naprowadzenie .
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.