Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] - logowanie uzytkownikow z roznym poziomem dostepu, cms
andy84
post 16.05.2007, 22:10:43
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 0
Dołączył: 14.11.2005
Skąd: London

Ostrzeżenie: (0%)
-----


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


--------------------
Linux is like Wigwam - no Windows, no Gates and apache inside :D
Go to the top of the page
+Quote Post
Danone
post 16.05.2007, 22:33:21
Post #2





Grupa: Zarejestrowani
Postów: 169
Pomógł: 16
Dołączył: 18.10.2006
Skąd: Olsztyn/Wrocław

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
andy84
post 17.05.2007, 10:05:19
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 0
Dołączył: 14.11.2005
Skąd: London

Ostrzeżenie: (0%)
-----


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 ;/


--------------------
Linux is like Wigwam - no Windows, no Gates and apache inside :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 11:20