Fehlermeldung bei Session?!

masta

Erfahrenes Mitglied
Was hat es mit dieser Meldung auf sich?

Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\internet projekte\scriptportal.de\login.php:3) in c:\apache\htdocs\internet projekte\scriptportal.de\login.php on line 94

Hier mal der Quelltext:

PHP:
<?

/* --- Anfang Einfügen von functions.php --- */

require("functions.php");

/* --- Ende Einfügen von functions.php --- */

?>

<html>
<head>
	<title>Loginformular</title>
</head>

<body>

</body>

<!-- Anfang Login Formular -->

<form action="login.php" method=post>
<table>
<tr>
<td>
<font color="#000000" face="Arial" size="-1"><b>Username:</b></font>
</td>
<td>
<input type="Text" name="user" size="30">
</td>
</tr>
<tr>
<td>
<font color="#000000" face="Arial" size="-1"><b>Passwort:</b></font>
</td>
<td>
&nbsp;<input type="Password" name="pass" size="29">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type=submit name="SUBMIT" value="Anmelden">
</td>
</tr>
</table>
</form>

<!-- Ende Login Formular -->
</html>

<?

/* Abfrage ob User und Pass gesetzt sind */

if ((isset($user)) and (isset($pass))) {

/* Anfang Check USER */

if ($user == "") { getpage_error("Bitte geben Sie einen Usernamen an."); };

/* Ende Check USER */


/* Anfang Check PASS */

if ($pass == "") { getpage_error("Bitte geben Sie ein Passwort an."); };

/* Ende Check PASS */


/* Verbindungsaufbau zum Datenbankserver */

MYSQL_CONNECT($server, $dbuser, $passwort) or die ( "<H3>Datenbankserver nicht erreichbar</H3>"); // Verbindung zum Server
MYSQL_SELECT_DB($datenbank) or die ( "<H3>Datenbank nicht vorhanden</H3>"); // Verbindung zur Datenbank

/* Ende Verbindungsaufbau */


/* Überprüfen ob $user und $pass in der Datenbank vorhanden sind */

$result=MYSQL_QUERY("SELECT user, pass FROM usr_act_sp WHERE (user='$user') AND (pass='$pass')");

if (mysql_num_rows ($result) > 0) {

$data = MYSQL_FETCH_ARRAY ($result);

$login_user = $data["user"];
$login_pass = $data["pass"];

session_register ("login_pass", "login_user");

unset ($pass);
unset ($user);

echo $login_pass;
echo $login_user;

echo "<a href=\"logout.php\">Ausloggen</a>";

} else {

getpage_error("Benutzername und Passwort sind falsch.");

};

};

?>
 
du hast "session_register" nach einer HTML-Ausgabe gemacht, das darfst du nicht....eine Session muss vor jeder Ausgabe an den Browser registriert werden, genauso wie Cookies..
 
Ja gut, und was mache ich jetzt? Den PHP Quelltext nach oben zu kopieren bringt auch nichts...könnte schon wieder mit der Tastatur auf meinen Rechner einschlagen.:mad:
 
Jetzt kommt diese Meldung:

Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\internet projekte\scriptportal.de\login.php:3) in c:\apache\htdocs\internet projekte\scriptportal.de\login.php on line 52

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\internet projekte\scriptportal.de\login.php:3) in c:\apache\htdocs\internet projekte\scriptportal.de\login.php on line 52

Quelltext:

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<?

/* --- Anfang Einfügen von functions.php --- */

require("functions.php");

/* --- Ende Einfügen von functions.php --- */

?>

<?

/* Abfrage ob User und Pass gesetzt sind */

if ((isset($user)) and (isset($pass))) {

/* Anfang Check USER */

if ($user == "") { getpage_error("Bitte geben Sie einen Usernamen an."); };

/* Ende Check USER */


/* Anfang Check PASS */

if ($pass == "") { getpage_error("Bitte geben Sie ein Passwort an."); };

/* Ende Check PASS */


/* Verbindungsaufbau zum Datenbankserver */

MYSQL_CONNECT($server, $dbuser, $passwort) or die ( "<H3>Datenbankserver nicht erreichbar</H3>"); // Verbindung zum Server
MYSQL_SELECT_DB($datenbank) or die ( "<H3>Datenbank nicht vorhanden</H3>"); // Verbindung zur Datenbank

/* Ende Verbindungsaufbau */


/* Überprüfen ob $user und $pass in der Datenbank vorhanden sind */

$result=MYSQL_QUERY("SELECT user, pass FROM usr_act_sp WHERE (user='$user') AND (pass='$pass')");

if (mysql_num_rows ($result) > 0) {

$data = MYSQL_FETCH_ARRAY ($result);

$login_user = $data["user"];
$login_pass = $data["pass"];

session_register ("login_pass", "login_user");

unset ($pass);
unset ($user);

echo $login_pass;
echo $login_user;

echo "<a href=\"logout.php\">Ausloggen</a>";

} else {

getpage_error("Benutzername und Passwort sind falsch.");

};

};

?>


<html>
<head>
	<title>Loginformular</title>
</head>

<body>

</body>

<!-- Anfang Login Formular -->

<form action="login.php" method=post>
<table>
<tr>
<td>
<font color="#000000" face="Arial" size="-1"><b>Username:</b></font>
</td>
<td>
<input type="Text" name="user" size="30">
</td>
</tr>
<tr>
<td>
<font color="#000000" face="Arial" size="-1"><b>Passwort:</b></font>
</td>
<td>
&nbsp;<input type="Password" name="pass" size="29">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type=submit name="SUBMIT" value="Anmelden">
</td>
</tr>
</table>
</form>

<!-- Ende Login Formular -->
</html>
 
sorry, masta, aber das muss funzen.

ich hatte nämlich genau (!) das gleiche problem selbst mal. mach's einfach so - mach nen separaten php-teil noch vor allem anderen in der datei. dort rein kommt dann nur der cookie-setz-teil. und sonst nix. wenn's dann nicht funzt, isses nen bug.
:p
 
Ich weiss ja nicht aber blöde Kommentare bringen mich auch nicht weiter. Habe mir jetzt schon 3 Fucking Tutorials reingezogen und keines konnte mir auch nur annähernd den Umgang mit sessions erklären.
Gibt es denn niemanden hier der sich dazu fähig fühlt mir mal den Umgang mit Session näher zubringen?...Will doch nur ein login auf einer seite...das wenn der user eingeloggt ist anzeigt "hey bist eingeloggt" und wenn nicht zeigt er halt das loginform an. und das halt alles in einer datei.
 
Zurück