Problem mit session !?

romeodadon

Angesehenes Mitglied
Kann mir jemand helfen ich bin am verzweifeln !

Dieser Fehler taucht auf:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/vhosts/Projekt.de/httpdocs/neu/index.php:3) in /srv/www/vhosts/projrkt.de/httpdocs/neu/index.php on line 3

Das ist der Quelltext die ganze Datei ist abgespeicher als index.php
CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<?php session_start();
require("connect.inc.php");
if(!isset($_POST['submit'])){?>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen" title="projekt.de" />
<title>Projekt</title>
</head>
<BODY>
</Body>

 
du musst session_start vor jegliche ausgaben platzieren

CODE

<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<?php
require("connect.inc.php");
if(!isset($_POST['submit'])){?>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen" title="projekt.de" />
<title>Projekt</title>
</head>
<BODY>
</Body>


grüsse, crazymind
 
DAS MIT DEM OB_ BRINGT NIX !

Ich habe nun in der ersten zeile fongendes stehen:

CODE
<?php session_start();

if(!session_is_registered('user') || $_SESSION['user'] == "") {

header("location:index.php");

die; }


?>



Und diesen Fheler gibt er mir dann später aus:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/vhosts/PROJEKT.de/httpdocs/user_login.php:1) in /srv/www/vhosts/PROJEKT.de/httpdocs/user_login.php on line 1

WAS NUN?
 
QUOTE (Only4yu @ Di 27.3.2007, 9:18) DAS MIT DEM OB_ BRINGT NIX !

Ich habe nun in der ersten zeile fongendes stehen:


CODE
<?php session_start();

if(!session_is_registered('user') || $_SESSION['user'] == "") {

header("location:index.php");

die; }


?>



Und diesen Fheler gibt er mir dann später aus:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/vhosts/PROJEKT.de/httpdocs/user_login.php:1) in /srv/www/vhosts/PROJEKT.de/httpdocs/user_login.php on line 1

WAS NUN?

Ist die user_login.php überhaupt die erste php-Datei in der Kette, die aufgerufen wird?

Vermutlich wird doch irgendeine index.php oder ähnliches vom Nutzer angefordert. Irgendwas anderes war da schon vor der user_login.php aktiv. Vermutlich ist da noch ein anderes Include im Spiel?
 
Ne die erste Datei ist dir Index.php wo sich der User anmeldet!

dann kommt eine zwischenseite index2.php die auf die user_login.php weiterleitet.

Ist da irgendwo das Problem?
 
QUOTE (Only4yu @ Di 27.3.2007, 9:33) Ist da irgendwo das Problem?

Das kommt darauf an, wie die Weiterleitung geschieht.
Wenn es die Serverseite macht: Ja!

Sobald irgendein echo "..." abgesetzt wurde, ist der Auslieferungskanal offen und die Session-Aushandlung abgeschlossen.
 
Also die Index2.php die auf die user_login.php weiterleitet sieht wie folgt aus:

CODE
<?php session_start();?>
<?php require("connect.inc.php");?>
<?php if(!isset($_POST['submit'])) { ?>
<form action="index2.php" method="post">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" href="../../SCRIPTE UND DATEN/P R O J E K T E/YouTalent.de/daten/link.css" type="text/css" />
<title>projekt.de</title>
</head>
<?php
}elseif(!$_POST['username'] || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon&#59;-)<br /><br />
<a href="index.php">Zurück</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="index.php" method="post">';
echo 'Ein Passwort brauchen wir schon&#59;-)';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück">';
echo '</p>';
echo '</form>';
}else{
$password = md5($_POST['password']);
$query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'");
$result = @mysql_fetch_array($query) or die('<p align="center">
Sorry, aber dieser Benutzername existiert nicht!<br /><a
href="index.php">Zurück</a></p>');
if($password != $result['pass']){
echo '<form action="index.php" method="post">';
echo 'Sorry, aber dieses Passwort ist falsch!';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück"></p>';
echo '</form>';
die;
}else{
$user = $result['user'];
session_register('user');
echo '<p align="center">LogIn erfolgreich! :-)<br /><br />
Du wirst automatisch weitergeleitet ....<br /><br />
wenn nicht dan klick auf<a href="user_login.php">Weiter</a></p>';
}
}
?>
<body>
<meta http-equiv="refresh" content="2; URL=http://www.projekt.de/user_login.php">
</body>
</html>

 
QUOTE (Only4yu @ Di 27.3.2007, 10:44)
CODE
<?php session_start();?>



Hast du im echten Code auch eine leere Zeile am Anfang? Falls ja -> Weg damit und Problem gelöst..
 
im echeten ist kein Leerzeichen !
sad.gif
 
@Only4yu: meinst du ein LeerZEICHEN? oder eine Leere ZEILE ?

PS: was macht eigentlich CODE <form action="index2.php" method="post">
vorem Doctype?
Das muss sicherlich auch anders plaziert werden!..
 
Zurück
Oben