Advertisement
Guest User

Untitled

a guest
Feb 11th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3.  
  4. $MYSQL_HOST = 'localhost';
  5. $MYSQL_USER = 'root';
  6. $MYSQL_PASS = '28092013';
  7. $MYSQL_DATA = 'accountverwaltung';
  8.  
  9. $connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
  10. mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
  11.  
  12. // liefert die Rechte eines Users ..
  13. function getRights()
  14. {
  15. $rights = array();
  16. // .. indem die Rechte eines User aus der Datenbank ausgewählt werden..
  17. if(isset($_SESSION['UserID'])){
  18. $sql = "SELECT
  19. Recht
  20. FROM
  21. User_Rechte
  22. WHERE
  23. UserID = '".$_SESSION['UserID']."'
  24. ";
  25. $result = mysql_query($sql) OR die(mysql_error());
  26. $rights = array();
  27. // .. und als array zurückgegeben werden
  28. while($row = mysql_fetch_assoc($result))
  29. $rights[] = $row['Recht'];
  30. }
  31. return $rights;
  32. }
  33.  
  34. // Loggt einen User ein, ..
  35. function doLogin($ID, $Autologin=false)
  36. {
  37. // .. indem die aktuelle Session ID in der Datenbank gespeichert wird
  38. $sql = "UPDATE
  39. User
  40. SET
  41. SessionID = '".mysql_real_escape_string(session_id())."',
  42. Autologin = NULL,
  43. IP = '".$_SERVER['REMOTE_ADDR']."',
  44. Letzte_Aktion = '".mysql_real_escape_string(time())."',
  45. Letzter_Login = '".mysql_real_escape_string(time())."'
  46. WHERE
  47. ID = ".$ID."
  48. ";
  49. mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
  50. // Wenn 'eingeloggt bleiben' aktiviert wurde
  51. if($Autologin){
  52. // Zufallscode erzeugen
  53. $part_one = substr(time()-rand(100, 100000),5,10);
  54. $part_two = substr(time()-rand(100, 100000),-5);
  55. $Login_ID = md5($part_one.$part_two);
  56. // Code im Cookie speichern, 10 Jahre dürfte genügen
  57. setcookie("Autologin", $Login_ID, time()+60*60*24*365*10);
  58. $sql = "UPDATE
  59. User
  60. SET
  61. Autologin = '".$Login_ID."'
  62. WHERE
  63. ID = '".$ID."'
  64. ";
  65. mysql_query($sql) OR die(mysql_error());
  66. }
  67.  
  68. // Daten des Users in der Session speichern
  69. $sql = "SELECT
  70. Nickname
  71. FROM
  72. User
  73. WHERE
  74. ID = '".$ID."'
  75. ";
  76. $result = mysql_query($sql) OR die(mysql_error());
  77.  
  78. $row = mysql_fetch_assoc($result);
  79. $_SESSION['UserID'] = $ID;
  80. $_SESSION['Nickname'] = $row['Nickname'];
  81. // Rechte in der Session speichern
  82. $_SESSION['Rechte'] = getRights();
  83. }
  84.  
  85. if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
  86. // Falls der Nickname und das Passwort übereinstimmen..
  87. $sql = "SELECT
  88. ID
  89. FROM
  90. User
  91. WHERE
  92. Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
  93. Passwort = '".md5(trim($_POST['Passwort']))."'
  94. ";
  95. $result = mysql_query($sql) OR die(mysql_error());
  96. // wird die ID des Users geholt und der User damit eingeloggt
  97. $row = mysql_fetch_assoc($result);
  98. // Prüft, ob wirklich genau ein Datensatz gefunden wurde
  99. if (mysql_num_rows($result)==1){
  100. doLogin($row['ID'], isset($_POST['Autologin']));
  101. echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
  102. echo "Sie wurden erfolgreich eingeloggt.<br>\n".
  103. "Zur <a href=\"index.php\">Startseite</a>\n";
  104. }
  105. else{
  106. echo "Sie konnten nicht eingeloggt werden.<br>\n".
  107. "Nickname oder Passwort fehlerhaft.<br>\n".
  108. "Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
  109. }
  110. }
  111. else{
  112. echo "<form ".
  113. " name=\"Login\" ".
  114. " action=\"".$_SERVER['PHP_SELF']."\" ".
  115. " method=\"post\" ".
  116. " accept-charset=\"ISO-8859-1\">\n";
  117. echo "Nickname :\n";
  118. echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
  119. echo "<br>\n";
  120. echo "Passwort :\n";
  121. echo "<input type=\"password\" name=\"Passwort\">\n";
  122. echo "<br>\n";
  123. echo "eingeloggt bleiben :\n";
  124. echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
  125. echo "<br>\n";
  126. echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
  127. echo "<br>\n";
  128. echo "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"registrierung.php\">registriert</a>?\n";
  129. echo "</form>\n";
  130. }
  131. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement