URL: https://www.overclockers.at/coding-stuff/denkfehler_in_einem_login-script_130062/page_1 - zur Vollversion wechseln!
Also ich möcht ned diverse Login-Skripten kopieren usw, jetz hab ich mir mal selber gedanken gemacht.
es funktioniert an und für sich schon recht gut, nur der logout macht mir kopfzerbrechen
man kann sich einfach ned ausloggen i glaub es liegt daran dass die session ned wirklich zerstört wird
hier mal der source:
Code: PHPfunction adminpanel() { echo "willkommen im adminpanel<br \>"; echo "<a href=\"index.php?main=admin&local=logout&\">Logout</a>\n"; } function loginformular() { echo "<form action=\"index.php?main=admin\" method=\"post\">\n"; echo "<table class=\"login\" width=\"50%\" align=\"center\">\n"; echo " <tr>\n"; echo " <td><b>Username</b></td>\n"; echo " <td class=\"login_rightboxes\">"; $sql = "SELECT ID, Name FROM user ORDER BY Name ASC;"; $result = mysql_query($sql) OR die(mysql_error()); echo " <select size=\"1\" name=\"UserID\" id=\"name\" class=\"textfeld\">\n"; echo " <option value=\"0\" selected=\"selected\">--- Bitte Auswählen ---</option>\n"; while($row = mysql_fetch_assoc($result)) { echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n"; } // while $row mysql fetch assoc echo " </select>\n"; echo "</td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td><b>Passwort</b></td>\n"; echo " <td class=\"login_rightboxes\"><input type=\"password\" name=\"Password\" class=\"textfeld\"/></td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td><input type=\"submit\" name=\"submit\" value=\"Login\" class=\"textfeld\" /></td>\n"; echo " <td class=\"login_rightboxes\"> </td>"; echo " </tr>\n"; echo "</table>\n"; echo "</form>\n"; } if(login_right($_POST['UserID'], $_POST['Password'])){ // UserIp und SessionID werden in die Datenbank eingetragen $UserIP = $HTTP_SERVER_VARS["REMOTE_ADDR"]; $SessionID = session_id(); $sql = "INSERT INTO user_lin (SessID, UserIP) VALUES ('".$SessionID."', '".$UserIP."')"; mysql_query($sql) OR die(mysql_error()); // Jetzt erst das Adminpanel aufrufen adminpanel(); } else { if($_GET['local'] == "logout") session_destroy(); $UserIP = $HTTP_SERVER_VARS["REMOTE_ADDR"]; $SessionID = session_id(); if(check_login($UserIP, $SessionID)) adminpanel(); else loginformular(); }
Code: PHPfunction check_login($uip, $sid) { $sql = "SELECT COUNT(*) as Anzahl FROM user_lin WHERE UserIP = '".$uip."' AND SessID = '".$sid."'"; $result = mysql_query($sql) OR die(mysql_error()); $row = mysql_fetch_assoc($result); mysql_free_result($result); return $row['Anzahl']; }
Code: PHPfunction login_right($id, $pass) { $sql = "SELECT COUNT(*) as Anzahl FROM user WHERE ID = '".$id."' AND Password = MD5('".$pass."');"; $result = mysql_query($sql) OR die(mysql_error()); $row = mysql_fetch_assoc($result); mysql_free_result($result); return $row['Anzahl']; }
verdammt, wie kann man so angrennt sein
ich schreib ja die werte in die datenbank, ich sollte sie beim logout auch wieder entfernen
muha oke
sry 4 thread, könnts ihn auch deleten
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025