Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] - logowanie uzytkownikow z roznym poziomem dostepu
Forum PHP.pl > Forum > Przedszkole
andy84
moze zaczne ten temat bo pewnie bede mial wiecej problemow niz samy myslalem

kolejny syntax ktory mi nie wiem czy pasuje
Jak moze ktos to przejzec bo ani to
  1. <?php
  2. $getUser = $loginConnector->query("SELECT * FROM cmsusers WHERE user = '".$_SESSION['user']."' AND pass = '".$_SESSION['pass']."' AND thegroup <= ".$group.' AND enabled = 1');
  3. ?>

ani to
  1. <?php
  2. $getUser = $loginConnector->query("SELECT * FROM cmsusers WHERE user = '".$_SESSION['user']."' AND pass = '".$_SESSION['pass']."' AND thegroup <= '".$group."' AND enabled = 1'");
  3. ?>

nie chce dzialac jezeli to bedzie dobrze to wrzuce caly kod ale jest go troche a wyglada mi narazie na problem z syntaxem bo nie pobiera mi w jakis sposob danych z bazy uzytkownikow :|

dzieki
Danone
Nie jestem pewny, ale chyba przy logowaniu te zapytania powinny być zapisywane do POST-A a ewentualnie na dalszych stronach zapisujesz do $_SESSION... Ale nie daje sobie głowy uciąć, bo jestem niżej-średniozaawansowany:) więc jeżeli, źle piszę proszę o wyrozumiałość:)

ale chciałem pomóc:)
Pozdrawiam
andy84
Nie chcialem tego wrzucac bo troche tego jest no ale coz :

nie wiem juz czemu nie moze mnie zautoryzowac doczepilem sie ze to bedzie cos z syntaxami jakos ;/ poprawcie mnie jesli sie myle

Sentry.php
  1. <?php
  2. class sentry {
  3.  
  4. var $loggedin = false;
  5. var $userdata;
  6.  
  7. function sentry(){
  8. header("Cache-control: private"); 
  9. }
  10.  
  11. function logout(){
  12. unset($this->userdata);
  13. return true;
  14. }
  15.  
  16. function checkLogin($user = '',$pass = '',$group = 10,$goodRedirect = '',$badRedirect = ''){
  17.  
  18. require_once('DbConnector.php');
  19. require_once('Validator.php');
  20. $validate = new Validator();
  21. $loginConnector = new DbConnector();
  22.  
  23. if ($_SESSION['user'] && $_SESSION['pass']){
  24.  
  25. if (!$validate->validateTextOnly($_SESSION['user'])){return false;}
  26. if (!$validate->validateTextOnly($_SESSION['pass'])){return false;}
  27.  
  28. $getUser = $loginConnector->query("SELECT * FROM cmsusers WHERE user = '".$_SESSION['user']."' AND pass = '".$_SESSION['pass']."' AND thegroup <= ".$group.' AND enabled = 1');
  29.  
  30. if ($loginConnector->getNumRows($getUser) > 0){
  31.  
  32. if ($goodRedirect != '') { 
  33. header("Location: ".$goodRedirect."?".strip_tags(session_id())) ;
  34. }
  35. return true;
  36. }else{
  37.  
  38. $this->logout();
  39. return false;
  40. }
  41.  
  42. }else{
  43.  
  44. if (!$validate->validateTextOnly($user)){return false;}
  45. if (!$validate->validateTextOnly($pass)){return false;}
  46.  
  47. $getUser = $loginConnector->query("SELECT * FROM cmsusers WHERE user = '".$user."' AND pass = PASSWORD('".$pass."') AND thegroup <= '".$group."' AND enabled = 1");
  48. $this->userdata = $loginConnector->fetchArray($getUser);
  49. if ($loginConnector->getNumRows($getUser) > 0){
  50.  
  51. $_SESSION["user"] = $user;
  52. $_SESSION["pass"] = $rowUser['pass'];
  53. $_SESSION["thegroup"] = $$rowUser['thegroup'];
  54.  
  55. if ($goodRedirect) { 
  56. header("Location: ".$goodRedirect."?".strip_tags(session_id())) ;
  57. }
  58. return true;
  59.  
  60. }else{
  61.  
  62. unset($this->userdata);
  63. if ($badRedirect) { 
  64. header("Location: ".$badRedirect) ;
  65. }
  66. return false;
  67. }
  68. }
  69. }
  70. }
  71. ?>

Login.php
  1. <?php
  2. require_once("../includes/Sentry.php");
  3.  
  4. $sentry = new Sentry();
  5. if ($_POST['user'] != ''){
  6. $sentry->checkLogin($_POST['user'],$_POST['pass'],10,'welcome.php','failed.php');
  7.  
  8. }
  9.  
  10. if ($HTTP_GET_VARS['action'] == 'logout'){
  11. if ($sentry->logout()){
  12. echo '<center>You have been logged out</center><br>';
  13. }
  14. }
  15. ?>
  16. <html>
  17. <head>
  18. <title>Untitled Document</title>
  19. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  20. </head>
  21.  
  22. <body>
  23. <table width="25%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000066">
  24. <tr>
  25. <td align="center" bgcolor="#000066"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Login</strong></font></td>
  26. </tr>
  27. <tr>
  28. <td bordercolor="#FFFFFF"><form name="form1" method="post" action="login.php">
  29. <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
  30. &nbsp;User:
  31. <input type="text" name="user">
  32. </font></p>
  33. <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Pass:
  34. <input type="password" name="pass">
  35. </font></p>
  36. <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
  37. <input type="submit" name="Submit2" value="Submit">
  38. </font></p>
  39. </form>
  40. <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="login.php?action=logout">Logout</a>&nbsp;</font></div>
  41. </td>
  42. </tr>
  43. </table>
  44. </body>
  45. </html>

welcome.php
  1. <?php
  2. require_once('../includes/Sentry.php');
  3. $theSentry = new Sentry();
  4. if (!$theSentry->checkLogin(2) ){ header("Location: login.php"); die(); }
  5. ?>
  6. <html>
  7. <head>
  8. <title>Welcome</title>
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  10. </head>
  11.  
  12. <body>
  13. Welcome to the admin area
  14. </body>
  15. </html>


co do bazy danych:
  1. INSERT INTO `cmsgroups` VALUES (1, 'Admin');
  2. INSERT INTO `cmsgroups` VALUES (2, 'Editors');
  3. INSERT INTO `cmsgroups` VALUES (3, NULL);
  4. INSERT INTO `cmsgroups` VALUES (4, NULL);
  5. INSERT INTO `cmsgroups` VALUES (5, NULL);
  6. INSERT INTO `cmsgroups` VALUES (6, NULL);
  7. INSERT INTO `cmsgroups` VALUES (7, NULL);
  8. INSERT INTO `cmsgroups` VALUES (8, NULL);
  9. INSERT INTO `cmsgroups` VALUES (9, NULL);
  10. INSERT INTO `cmsgroups` VALUES (10, 'Anonymous');
  11.  
  12.  
  13. CREATE TABLE `cmsusers` (
  14. `ID` int(4) UNSIGNED NOT NULL AUTO_INCREMENT,
  15. `user` varchar(40) DEFAULT NULL,
  16. `pass` varchar(20) DEFAULT NULL,
  17. `thegroup` int(4) DEFAULT '10',
  18. `firstname` varchar(20) DEFAULT NULL,
  19. `surname` varchar(20) DEFAULT NULL,
  20. `enabled` int(1) DEFAULT '1',
  21. PRIMARY KEY (`ID`)
  22. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  23.  
  24.  
  25. INSERT INTO `cmsusers` VALUES (1, 'admin', '*4ACFE3202A5FF5CF467', 1, 'Mr', 'Admin', 1);

haslo i uzytkownik to admin : wszyskto jest encryptowane przy uzyciu PASSWORD

jednak nie autentykuje administratora wogole ;/ - dzieki za pomoc i sory ze tak dlugi ten post z tym kodem ;/
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.