Problem bei Loginscript

Zipper02

Mitglied
Also ich habe ein Loginscript gecodet und das funktioniert auch soweit.
Nach dem Login möchte ich das er eine Session registriert und das hab ich auch gemacht doch dann kommt folgender Fehler:

Warning: Cannot send session cookie - headers already sent by (output started at /kunden/***.com/login.php:34)
in /kunden/***.com/login.php on line 47

Warning: Cannot send session cache limiter - headers already sent (output started at /kunden/***.com/login.php:34)
in /kunden/***.com/login.php on line 47


<?
include("config.inc.php");
include("connect.inc.php");

$abfrage = "SELECT * FROM user WHERE name = '$username'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{


if ($row->pass == $passwort)
{
echo "<font face=verdana size=2>Login erfolgreich...<br>Umleitung erfolgt.";
session_register('username');
?>

<script language="JavaScript">
window.location.href = "admin.php";
</script>
<?
}
.....

Die Zeile 47 ist: session_register('username');
Wo liegt das Problem ?
 
probier mal aus, ob dein script klappt, wenn du den kram mit der session als erstes machst. die scheint ja mit cookies zu arbeiten und normalerweise kannst du nur auf cookies zugreifen, bevor irgendwas ausgegeben wird..
 
PHP:
echo "<font face=verdana size=2>Login erfolgreich...<br>Umleitung erfolgt.";
Die Zeile würde ich mal NACH session_register(username); machen. hatte ich auch gradf das prob. dann soltel es gehen :D
 
Die Zeile 47 ist: session_register('username');
Wo liegt das Problem ?

Aus der FAQ:

Wie bei allen anderen HTTP-Headern, darf auch vor dem Setzen von Cookies (Sessionfunktionen von PHP4 benutzen standardmäßig Cookies) kein einziges Byte des Codes an den Client gesendet werden. Erst wenn alle HTTP-Header gesendet worden sind, dürfen entsprechende Daten (z.B. HTML) gesendet werden.

Typische Stolperfallen sind Leerzeichen bzw. -zeilen vor dem ersten <? bzw. <?php Delimiter des Scripts oder mit include() oder require() importierte Scriptfragmente, die natürlich gar keine Ausgabe produzieren dürfen - weder vor dem ersten Delimiter, noch dazwischen, noch nach dem letzten.

Zusätzlich kommt durch die auto_prepend_file -Einstellung in der php.ini , bzw. in der Webserverkonfiguration, eine weitere potentielle Fehlerquelle hinzu.
 

Neue Beiträge

Zurück