Headers already Sent -Problem.

Victory

Grünschnabel
Hi Zusammen...

Jaja... schonwieder so einer mit dem Warning: Cannot send session cache limiter - headers already sent..... Problem....

Ich hab das Faq gelesen, eine Stunde lang die Suchfunktion mit "headers already sent" benutzt. Jedoch hat mir bisher nichts geholfen. Das ob_start() und ob_end_flush() hab ich auch probiert. Kann sein das ich da was falsch mache...

Hier der Quellcode zu dem LogIn System:
PHP:
<?php

include("../includes/inc.config.php");

if(!$login) { 
			echo  "Bitte einloggen";
} else {
	$name = $HTTP_POST_VARS['login_name']; 
	$pass = $HTTP_POST_VARS['login_passwort']; 

	$check = "SELECT login, passwort, ma_kurzzeichen FROM $user_table WHERE login LIKE '$name' AND passwort LIKE '$pass'"; 
	$check_result = mysql_query($check); 
	$result = mysql_num_rows($check_result);
	$row = mysql_fetch_row($check_result);
	$gelesenes_ma_krz = $row[2];

		//echo "result: -$result-<br>";


		if($result == 1) { 
			$logedin = TRUE; 
			session_start();
			session_register("logedin"); 
			$given_sessionid = session_id();




//##### SessTest #####\\
$tstamp = time();

$sql = "DELETE FROM $sess_table WHERE `loginname` = '$name'";
	mysql_query($sql);

$sql = "INSERT INTO $sess_table VALUES( '', '$name', '$gelesenes_ma_krz', '$anzahleintraege', '', '$given_sessionid', '$tstamp')";
	mysql_query($sql);




echo "<html><head><title>ZEDA | Weiterleitung</title><META HTTP-EQUIV=\"Refresh\" content=\"2;URL=zeda_erfassung.php\"></head><body><b>Daten korrekt. Sie werden eingeloggt.</b></body></html>";

		}else{
			echo "Login ist falsch";
		}//END if($result > 0)
} // END if($login)
?> 
<HTML>
<HEAD>
<TITLE>> ZedaLogIn</TITLE>
<link rel="stylesheet" type="text/css" href="../styles/zeda.css">
</HEAD>

<BODY>

<h2>LogIn</h2>
<form name="frm_login_eingaben" action="index.php" method="post">
<!--	Dieses Form wird an sich selber geschickt
		Die eingegebenen Felderwerte werden an
		ein Übertragsformular übertragen		-->

<TABLE>
<TR>
	<TD>LogIn-Name:</TD>
	<TD align="right"><input type="text" style="width:100px" name="login_name"></TD>
</TR>
<TR>
	<TD>Passwort:</TD>
	<TD align="right"><input type="password" style="width:100px" name="login_passwort"></TD>
</TR>
<TR>
	<TD></TD>
	<TD><input type="hidden" style="width:100px" name="login_anzahleintraege" value="30"></TD>
</TR>
<TR>
	<TD></TD>
	<TD align="right"><input type="submit" value="LogIn" name="login"></TD>
</TR>
</TABLE>

</form>
</BODY>
</HTML>
Ich weiss es ist viel, aber besser als zuwenig... Sorry, das hier nochmal so n Thread auftaucht...

:-)
 
Zuletzt bearbeitet:
Jo kenn ich.. .hab auch alles umgestellt... also das session_start teil an den anfang geklebt... aber hat irgendwie nix gebracht....

hab echt alles geprobt was ich gefunden habe...
 
Kannst Du dann nochmal Dein umgestelltes Script posten? Aber bitte nur bis zu
der Zeile, in der die Session gestartet wird. Denn in Deinem ersten Post kann
immer noch eine Ausgabe via echo erfolgen. Achte des Weiteren bitte darauf,
dass vor <?php nichts steht. Auch kein Leerzeichen oder eine Leerzeile.
Gleiches gilt für die inc.config.php. Dort darf weder vor <?php noch nach ?> eine
Ausgabe erfolgen und mitten drin auch nicht.

Und noch eine Offtopic-Anmerkung:
--> Satzanfänge und Substantive werden groß geschrieben.
--> Sätze werden mit einem Satzzeichen beendet.
--> Beim Posten von Code, die Highlightfunktion des Boards benutzen.

Danke!
 
AHHHHH! Also das mit dem Config hat geholfen! Hatte da in dem Include-File am Ende ein Space.

So hier nochmal der Quelli wie er jetzt ist:

PHP:
<?php session_start();

include("../includes/inc.config.php");

if(!$login) { 
echo "Bitte einloggen";
} else {
$name = $HTTP_POST_VARS['login_name']; 
$pass = $HTTP_POST_VARS['login_passwort']; 

$check = "SELECT login, passwort, ma_kurzzeichen FROM $user_table WHERE login LIKE '$name' AND passwort LIKE '$pass'"; 
$check_result = mysql_query($check); 
$result = mysql_num_rows($check_result);
$row = mysql_fetch_row($check_result);
$gelesenes_ma_krz = $row[2];

//echo "result: -$result-<br>";


if($result == 1) { 
$logedin = TRUE; 
//session_start();
session_register("logedin"); 
$given_sessionid = session_id();

BiG THX!

P.S.: Betreffend deim Offtopic-Anhang -> SORRY!
 
Zuletzt bearbeitet:
Zurück