2.2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo Zusammen! Ich habe folgendes Problem. Bei dem Versuch für eine Internetseite eine Art "Team-Login" zu schreiben, treten immer diese zwei Fehler auf.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\db2 projekt\index.php:10) in C:\xampp\htdocs\db2 projekt\login.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\db2 projekt\index.php:10) in C:\xampp\htdocs\db2 projekt\login.php on line 34

Habe schon viel über google zu diesem Thema gelesen, aber richtig fündig geworden bin ich nicht. Oftmals hieß es, dass es problematisch ist, mit Sessions zu arbeiten, sobald auch include() verwendet wird.

Ich habe auf der Index.php einen Link zum Team-Login. Sinn der Sache soll sein, dass bestimmte Seiten nur nach dem Login angezeigt werden.

Hier der Code von der Index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml...">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>audio~therapie</title>
<link type="text/css" href="style.css" rel="stylesheet">

</link>

<style type="text/css">
</style><!--[if IE 5]>
<style type="text/css">
</head>

<?php
include("config.php");
?>
<div id="container">
<div id="header" style="background-image:url(img/headerbg.gif);">
<h1 align="center">audio-therapie</h1>
<!-- end #header --></div>
<div id="sidebar1" style="display:block">

<table width="150px" cellpadding="10px" cellspacing="10px">
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=start">Start</a></th></tr>
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=idee">Idee</a></th></tr>
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=djs">Die DJs</a></th></tr>
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=locations">Locations</a></th></tr>
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=partybilder">Partybilder</a></th></tr>
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=team">Das Team</a></th></tr>
<tr><th> <a href="<?php echo $_SERVER['PHP_SELF']?>?topic=flyer">Flyer</a> </th></tr>
</table>
<!-- end #sidebar1 --></div>
<div id="mainContent">

<?php include("{$arrSitePages[$topic]}"); ?>

<!-- end #mainContent --></div><br class="clearfloat" />
<div id="footer">

<table width="auto" border="0" align="right" cellspacing="20">
<tr>
<td><a href="<?php echo $_SERVER['PHP_SELF']?>?topic=kontakt">Kontakt</a></td>
<td><a href="<?php echo $_SERVER['PHP_SELF']?>?topic=impressum">Impressum</a></td>
<td><a href="<?php echo $_SERVER['PHP_SELF']?>?topic=login">Team-Login</a></td>
</tr>
</table>




<!-- end #footer --></div>
<!-- end #container --></div>

</body>
</html>



Ich arbeite mit Dreamweaver und muss sagen, dass ich mich (noch) nicht wirklich gut mit Webdesign auskenne, von daher bin ich auch für jeden Verbesserungsvorschlag an dem Quelltext dankbar.
include("config.php") wird benötigt um Links in den Maincontent zu laden.


Und hier nun noch der Code von der Login.php:

<?php
session_start();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "root", "");
if (!mysql_select_db ("audio", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}

$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);

// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];

header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>


Es muss doch eine Möglichkeit geben, dass das funktioniert. Bin über jede Hilfe dankbar!


Gruß, David.

1 Antwort

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
<?php
...muss ganz an den Anfang der Datei. Jeder Datei!
...