Code:
<? session_start(); include "header.php"; include "config.inc.php"; include "functions.inc.php"; connect(); $sent = $_POST['send']; $username = $_POST['name']; $password = $_POST['passwort']; $md5pass = md5($password); if($sent) { $sql = "SELECT UserName, UserPass FROM users WHERE UserName = '".$username."'"; $result = mysql_query($sql) OR die(mysql_error()); while($row = mysql_fetch_array($result)) { if($md5pass == $row[UserPass]) { $_SESSION['ID'] = $_POST['UserID']; echo "<a href=\"interntest.php?".session_name()."=".session_id()."\">test</a>\n"; } else { session_destroy(); echo "Not Logged In!"; echo "<a href=\"interntest.php?".session_name()."=".session_id()."\">test2</a>\n"; } } } else { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <table border="0"><tr> <td>Nickname: </td><td><input type="text" name="name" size="25" maxlength="30"></td> </tr><tr> <td>Passwort: </td><td><input type="password" name="passwort" size="25" maxlength="32"></td> </tr><tr> <td colspan="2" align="middle"><input type="Submit" name="send" value="abschicken"></td> </tr></table> </form></center> <? } include "footer.php";?>
interntest.php
Code:
<? session_start(); include "header.php"; if(isset($_SESSION['ID'])) { echo "<p>\n"; echo "Willkommen im Adminbereich\n"; echo "</p>\n"; } $sid = session_id(); echo "$sid"; echo "$PHPSESSID"; include "footer.php"; ?>
Dann klicke ich auf den Link, komme in die interntest.php und dort wird nur die SID ausgegeben (egal ob PW und Username korrekt war...), obwohl doch eigentlich "Willkommen im..." und die SID ausgegeben werden müsste, bzw. die SID nur, wenn man erfolgreich eingeloggt ist.
Kommentar