Vos
13. Februar 2007 um 16:33
1
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
Frank
13. Februar 2007 um 16:38
2
Du darfst vor den header angaben KEINERLEI Ausgabe von Code oder sonst was durch echo, print etc haben
Vos
13. Februar 2007 um 16:40
3
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.
system
13. Februar 2007 um 16:49
4
Vllt ist in deinen Includes ja Ausgabe von Code? Wenn net setz halt die header vor die Querys.
Vos
13. Februar 2007 um 16:53
5
[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
system
13. Februar 2007 um 16:55
6
session_start sendet auch header, also die header vor dem include setzen.
Vos
13. Februar 2007 um 17:00
9
@davidgraas
???
@Alti
okay, aber das beeinflust nicht das loginscript?
system
13. Februar 2007 um 17:04
10
Ä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.
Vos
13. Februar 2007 um 17:05
11
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…
system
13. Februar 2007 um 17:06
12
Hm… trotzdem wär es besser, wenn de das session_start hinter jede header angabe setzt, denn session_start sendet auch header!
Vos
13. Februar 2007 um 17:15
13
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.