PHP Header Anweisung bringt mich zum schwitzen.. !

Radanua

Mitglied
Hallihallo meine lieben..
ich programmiere derzeit eine kleinigkeit und bleibe schon beim Start stecken, was mich ein wenig irritiert...
Folgendes Problem:
Ich rufe die Website auf und ich kann mich einloggen.
Nach dem Login sagt er mir folgendes:
Code:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\test\header.php:9) in C:\xampplite\htdocs\test\modules\login.php on line 16
Da dachte ich dann das wa ma in den entsprechenden Lines nachsehen und siehe da - KEINEN FEHLER BEMERKT! -

Als ich dann jedoch die includierte datei Header öffnete, die folgendermaßen aussah:
HTML:
<?php
@session_start();
include"inc/mysql.php";
?>
<html>
<head>
  <title>Testseite</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
(Weiter gehts dann in der includeten Datei footer.php)

verändertere ich dann mal aus neugierde zu:
PHP:
<?php
@session_start();
include"inc/mysql.php";
?>

komischerweise funktionierte der ganze spaß nun wieder...
wo habe ich denn da einen fehler gemacht? ich verzweifel gerade echt.. weil ich nich weiß warum und wies der Server mir diesen fehler ausgeben tut.


Danke im vorraus..
Euer Radanua
 
Also das da oben ist die "header.php" welche in die Datei "login.php" eingebunden ist.
Dann wird es in der "login.php" halt auch noch einen Headerbereich geben der bereits ausgegeben wurde.

So verstehe ich zumindest die Fehlermeldung.
 
Eben genauso ist das nicht.. !
Ich liste mal eben auf.. was die Seite zu dem macht, was ausgegeben wird.
Header.php:
PHP:
<?php
@session_start();
include"inc/mysql.php";
?>
<html>
<head>
  <title>www.Radanua.de - Schnell, gezielt, Professionell</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>

index.php:
PHP:
<?php
include("header.php");
include("inc/cfg.php");
      if(isset($_GET['page']) AND isset($dateien[$_GET['page']])) {
             include $dateien[$_GET['page']];
            } else {
             include ("modules/start.php");
            }
include("footer.php");
?>

footer.php:
PHP:
 </body>
</html>
 
Irgendwo wird in der index.php oder der header.php ein Leerzeichen stehen, vor den PHP Tags. Dadurch kommt es bereits zu einer Ausgabe an den Browser.
 
Das ist es ja komischerweise nicht.. sobald ich diesen html teil aus dem header entferne geht alles..
HTML:
<html>
<head>
  <title>www.Radanua.de - Schnell, gezielt, Professionell</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>

Lg
Radanua
 
cfg.php
PHP:
<?php
$dateien = array();
$dateien['start'] = "modules/start.php";
$dateien['login'] = "modules/login.php";
?>
 
Sorry, ich sollte auch richtig lesen. Obige Fehlermeldung bezieht sich auf die login.php Zeile 16. Was steht dann da drin?
 
Login.php:
PHP:
<?php
if($_POST['action'] == "Login"){
  $username = $_POST['kontonr'];
  $password = $_POST['kennung'];
  $rand = rand(999999,999999999999);

  $sql = mysql_query("SELECT * FROM `konto` WHERE `kontonr`='".$username."'");
  $sqla = mysql_fetch_array($sql);
             
  if($password == $sqla['apin']){
    $usql = mysql_query("SELECT * FROM `user` WHERE `userid`='".$sqla['userid']."'");
    $usqla = mysql_fetch_array($usql);
    $_SESSION['user'] = $sqla['userid'];
    $_SESSION['pw']   = $password;
    $_SESSION['usid'] = $rand;
    header("Location: index.php?site=start");
  } else {
    header("Location: index.php?site=start");
  }
}
?>
 
Zurück