header problem

ich hab eine fehlermeldung mit header bekommen

Warning: Cannot modify header information - headers already sent by (output started at

natürlich hab ich mich sofort an PHP - Manual gewand und fand heraus das seit PHP 4.4.2 man header nur 1x benutzen kann ausser man schreibt beim zweiten , false

[php]<?php header('WWW-Authenticate: Negotiate'); header('WWW-Authenticate: NTLM', false); ?>[/php]

aber das will bei mir nicht funktionieren, die fehlermeldung bleibt kann mir da jemand helfen? dankeschonmal

Du darfst vor den header angaben KEINERLEI Ausgabe von Code oder sonst was durch echo, print etc haben

mh zählt da auch eine sql abfrage zu?

[php]<?php
include („…/checkuser.php“);
include („…/…/dblogin.php“);

$sql = „INSERT INTO „.
„game_nachrichten (Name, Absender, Title, Text, Datum) „.
„VALUES ('“.$_REQUEST[„Spieler“].“‚,‘“.$_SESSION[„user_nickname“].“‚,‘“.
$_REQUEST[„Titel“].„‚,‘“.
nl2br($_REQUEST[„NText“]).„', NOW())“;
mysql_query ($sql);

if (mysql_affected_rows ($connectionid) > 0){
header (‚Location: …/nachrichten.php‘, FALSE);
}
else{
header (‚Location: …/nachrichten.php?fehlersenden=1‘, false);
}
?>[/php]

in include („…/checkuser.php“); ist der erste header.

Vllt ist in deinen Includes ja Ausgabe von Code? Wenn net setz halt die header vor die Querys.

[php]//dblogin.php

<?php $connectionid = mysql_connect ("localhost", "****", "*****"); if (!mysql_select_db ("******", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } ?>[/php]

[php]//checkuser.php

<?php session_start (); if (!isset ($_SESSION["user_id"])) { header ("Location: ../formular.php"); exit; } ?> [/php]

sonst wird nichts included.

seitdem ich das checkuser.php includet hab funst es nicht mehr. Aber die datei brauch ich für die $_SESSION[„user_nickname“].

Danke schonmal für die schnellen antworten

session_start sendet auch header, also die header vor dem include setzen.

@davidgraas

???

@Alti

okay, aber das beeinflust nicht das loginscript?

Ähm… oder machs einfach so, zieh das session_start aus der checkuser.php raus und setz es dann hinter jede header angabe… ist zwar umständlicher, erfüllt aber seinen zweck.

So habs…

Ich hab die datei checkuser jetzt einfach da eingefügt ohne include udn dan funst das, session start() muss rein weil ich ja sonst $_SESSION[„user_nickname“] nicht abfragen kann…

Hm… trotzdem wär es besser, wenn de das session_start hinter jede header angabe setzt, denn session_start sendet auch header!

Naja wenn mal probleme auftreten sollen weiß ich ja bescheid…
danke für die schnelle antwort!

Schon ein einziges Leerzeichen (bzw. eine Leerzeile) reicht aus, um die Seite auf die Reise zu schicken.Beispiel:

//hier ist eine Leerzeile!
<?php 
header(....)

Man sucht dann wie blöd, weil man eben nichts sieht.