Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(E_ALL);
- $MYSQL_HOST = 'localhost';
- $MYSQL_USER = 'root';
- $MYSQL_PASS = '28092013';
- $MYSQL_DATA = 'accountverwaltung';
- $connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
- mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
- // liefert die Rechte eines Users ..
- function getRights()
- {
- $rights = array();
- // .. indem die Rechte eines User aus der Datenbank ausgewählt werden..
- if(isset($_SESSION['UserID'])){
- $sql = "SELECT
- Recht
- FROM
- User_Rechte
- WHERE
- UserID = '".$_SESSION['UserID']."'
- ";
- $result = mysql_query($sql) OR die(mysql_error());
- $rights = array();
- // .. und als array zurückgegeben werden
- while($row = mysql_fetch_assoc($result))
- $rights[] = $row['Recht'];
- }
- return $rights;
- }
- // Loggt einen User ein, ..
- function doLogin($ID, $Autologin=false)
- {
- // .. indem die aktuelle Session ID in der Datenbank gespeichert wird
- $sql = "UPDATE
- User
- SET
- SessionID = '".mysql_real_escape_string(session_id())."',
- Autologin = NULL,
- IP = '".$_SERVER['REMOTE_ADDR']."',
- Letzte_Aktion = '".mysql_real_escape_string(time())."',
- Letzter_Login = '".mysql_real_escape_string(time())."'
- WHERE
- ID = ".$ID."
- ";
- mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
- // Wenn 'eingeloggt bleiben' aktiviert wurde
- if($Autologin){
- // Zufallscode erzeugen
- $part_one = substr(time()-rand(100, 100000),5,10);
- $part_two = substr(time()-rand(100, 100000),-5);
- $Login_ID = md5($part_one.$part_two);
- // Code im Cookie speichern, 10 Jahre dürfte genügen
- setcookie("Autologin", $Login_ID, time()+60*60*24*365*10);
- $sql = "UPDATE
- User
- SET
- Autologin = '".$Login_ID."'
- WHERE
- ID = '".$ID."'
- ";
- mysql_query($sql) OR die(mysql_error());
- }
- // Daten des Users in der Session speichern
- $sql = "SELECT
- Nickname
- FROM
- User
- WHERE
- ID = '".$ID."'
- ";
- $result = mysql_query($sql) OR die(mysql_error());
- $row = mysql_fetch_assoc($result);
- $_SESSION['UserID'] = $ID;
- $_SESSION['Nickname'] = $row['Nickname'];
- // Rechte in der Session speichern
- $_SESSION['Rechte'] = getRights();
- }
- if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
- // Falls der Nickname und das Passwort übereinstimmen..
- $sql = "SELECT
- ID
- FROM
- User
- WHERE
- Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
- Passwort = '".md5(trim($_POST['Passwort']))."'
- ";
- $result = mysql_query($sql) OR die(mysql_error());
- // wird die ID des Users geholt und der User damit eingeloggt
- $row = mysql_fetch_assoc($result);
- // Prüft, ob wirklich genau ein Datensatz gefunden wurde
- if (mysql_num_rows($result)==1){
- doLogin($row['ID'], isset($_POST['Autologin']));
- echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
- echo "Sie wurden erfolgreich eingeloggt.<br>\n".
- "Zur <a href=\"index.php\">Startseite</a>\n";
- }
- else{
- echo "Sie konnten nicht eingeloggt werden.<br>\n".
- "Nickname oder Passwort fehlerhaft.<br>\n".
- "Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
- }
- }
- else{
- echo "<form ".
- " name=\"Login\" ".
- " action=\"".$_SERVER['PHP_SELF']."\" ".
- " method=\"post\" ".
- " accept-charset=\"ISO-8859-1\">\n";
- echo "Nickname :\n";
- echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
- echo "<br>\n";
- echo "Passwort :\n";
- echo "<input type=\"password\" name=\"Passwort\">\n";
- echo "<br>\n";
- echo "eingeloggt bleiben :\n";
- echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
- echo "<br>\n";
- echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
- echo "<br>\n";
- echo "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"registrierung.php\">registriert</a>?\n";
- echo "</form>\n";
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement