Logins-system problem

hoctar

Erfahrenes Mitglied
Hallo :)
Hab ein kleines problem mit meinem Login-system.
Ich benutze das 3 Seiten Layout.
das Loginsystem ist von dieser seite: Tutorial

Ich kann mich einloggen und alles funtioniert soweit, nur wenn ich in den geschützten bereich rein kommen will, ohne mich einzuloggen, dann gibt er mir diese fehler meldung aus:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/######/subdomains/###/httpdocs/site/index.php:18) in /var/www/vhosts/######/subdomains/###/httpdocs/site/inc/checkuser.php on line 5

Hier die codes:

loginform.php
PHP:
<?php
session_start ();
if (isset ($_REQUEST["fehler"])) 
{ 
  echo "Die Zugangsdaten waren ungültig.";
}

echo "<form action=\"login.php\" method=\"post\">";
echo "Name: <input type=\"text\" name=\"name\" size=\"20\"><br>"; 
echo "Kennwort: <input type=\"password\" name=\"pwd\" size=\"20\"><br>";
echo "<input type=\"submit\" value=\"Login\">"; 
echo "</form>"

?>

intern.php
PHP:
<?php

include ("inc/checkuser.php"); 

echo "Du bist eingeloggt.<br>";
echo "<a href=\"logout.php\">Ausloggen</a>";

?>

log_out.php
PHP:
<?PHP
session_start ();
echo "Sie sind nicht eingeloggt!<br>";
echo "<a href=\"index.php\">Zurück zur Startseite</a>";
?>

checkuser.php
PHP:
<?php 
session_start ();
if (!isset ($_SESSION["user_id"])) 
{ 
  header ("Location: index.php?page=log_out"); 
} 
?>

login.php
PHP:
<?php 
// Session starten
session_start ();

include ("db/connect.php"); 
if (!mysql_select_db ("test", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname ". 
  "FROM ". 
    "user ". 
  "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: index.php?page=intern"); 
} 
else 
{ 
  header ("Location: index.php?page=loginform");
} 
?>
 
Überprüfe ob du in irgendeiner der php dateien, warscheinlich index.php checkuser.php oder intern.php irgendetwas (auch leerzeichen) vor dem <? stehen hast.

Die Fehlermeldung sagt dir das irgendeine der Dateien schonmal etwas an den Browser gesendet hat und deswegen die weiterleitung Fehlschlägt.
 
hab alles nachgeschaut ... ist aber nichts dagewesen sogar keine leerzeichen.
und sonst hab ich eigentlich nichts was vor der session_start (); daten an den client schickt :(
 
Es spielt keine rolle, vielleicht wurde auch ein php warning oder irgendetwas wiedergegeben, eine "minnilösung" die mir noch einfallen würde währe oben in der index.php

ob_start(); den ausgabepuffer zu aktivieren und eben nach den checks ihn wieder einzuschalten oder es eben erst am ende auszugeben. Aber die Fehlermeldung sagt deffinitiv das bereits etwas gesendet wurde :>
 
In der Fehlermeldung steht doch genau, durch welche Anweisung die Ausgabe begann: Datei „/site/index.php“, Zeile 18.
 
In der Fehlermeldung steht doch genau, durch welche Anweisung die Ausgabe begann: Datei „/site/index.php“, Zeile 18.
da finde ich aber leider auch nichts.

hier ist die
index.php

PHP:
<?PHP
session_start ();
include "inc/config.php";
?>

<hmtl>
<head>
<link title="style" type="text/css" rel="stylesheet" href="images/np.css">
<title></title>
</head>

<body width="900" height="100%" topmargin="0" leftmargin="0" border="0" align="center" background="images/background.jpg" marginheight="0" marginwidth="0">

<table align="center">
 <tr align="center">
  <td align="center">
   <img src="images/bottom.png">
   <table border="0" cellpadding="0" cellspacing="0">
   </table>

 <table bgcolor="#decea5" border="0" cellpadding="0" cellspacing="0" width="900">
  <tr>
   <td background="images/right.png" height="100%" valign="top" width="200">
    <br>
    <div style="padding-left: 20px;">
     <h8><b>MENU</b></h8>
    </div>
    <div style="padding-left: 10px;">
     <br>
<?php include "template/navigation.php";?>
     <br>
     <br>
    </div>
   </td>
   <td height="100%" width="698">
    <table align="left" border="0" cellpadding="0" cellspacing="0" width="650">
<?php include "content.php";?>
    </table>			
   </td>
   <td background="images/left.png" height="100%" width="2">
   </td>
  </tr>
 </table>
  <img src="images/bottom.png">
  <table border="0" cellpadding="0" cellspacing="0">
 </table>
  </td>
 </tr>
</table>

</body>
</html>
 
Weil du vermutlich auch nicht weißt, wonach zu suchen ist. Diese Frage wird bestimmt einmal wöchentlich gestellt. Such einfach mal nach den Stichwörtern der Fehlermeldung.
 
Zurück