000
22.12.2007, 18:34 Uhr
~Serkiiii
Gast
|
Servus Leute! Ich hab ein Problem, also ich muss für die Schule eine Seite mit Sessions programmieren. Soweit so gut. Hier erst mal der Aufbau... Es gibt 5 Dateien: - login.html - varify.php - var.inc.php - admin.php - logout.php
Anfang: login.html --> verify.php (included var.inc.php, vergleicht Benutzerdaten, Startet Session usw) -- > (bei erfolgreichem login) admin.php, bei logout leitets weiter an logout.php und die ganze geschichte fängt von neuem an.
hier jetzt mal die Codes zu den einzelnen Dateien. login.html
Code: |
<html> <head> <title>login</title> </head> <body> <form action="verify.php" method="post"> Username : <br> <input type="text" name="username" size="20" maxlength="20"><br> Passwort : <br> <input type="password" name="passwort" size="20" maxlength="20"><br> <input type="submit" name="absenden" value="einloggen"> </form> </body> </html>
|
verify.php Da hab ich einen kleinen Teil auskommentiert, weil da sonst eine Meldung kommt von wegen Benutzername nicht bekannt. naja egal
Code: |
<? session_start(); include('var.inc.php'); $name= $_POST['username']; $pw=$_POST['passwort']; echo $name; echo "<br>"; echo $pw; echo "<br>"; if ((isset($username)) OR (isset($passwort))) { die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !"); } $conn = @mysql_connect($dbserver,$bduser,$dbpass); if (!$conn){ die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !"); } mysql_select_db($dbname,$conn); $query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'"; $result = mysql_query($query,$conn); $zeileholen = mysql_fetch_array($result,MYSQL_ASSOC); mysql_close($conn); //if (!$zeileholen){ //die ("Sorry, aber dieser Name ist leider nicht bekannt !"); //} if ($zeileholen["pass"] <> $passwort){ die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !"); } $level = $zeileholen["level"];
session_register('username'); session_register('level'); header ("Location: admin.php"); ?>
|
var.inc.php
Code: |
<? // Datenbank Variablen $dbserver = ""; // Datenbankserveradresse $dbname = ""; // Name der Datenbank $dbuser = ""; // Username des Datenbankbenutzers $dbpass = ""; // Passwort des Datenbankbenutzers ?>
|
admin.php
Code: |
<? session_start(); ?> <html> <head> <title>Adminzone</title> </head> <body> <? if (! session_is_registered('username')) { die ("Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?"); } echo "Hi ".$username." !"; echo "<br> Dein Userlevel ist ".$level;?>
<br> <input type="button" name="logout" value="logout" onClick="location.href='logout.php'"> </body> </html>
|
Hier die Fehlermeldung die erscheint wenn ich bei login.html meine Daten eingeb und abschick:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web734/html/php/test/verify.php:7) in /var/www/web734/html/php/test/verify.php on line 32
ich komm da echt nicht weiter. Wenn ihr mir da weiterhelfen könnten, das wär echt prima! Danke im Voraus. |