PHP spinnt auf Server!

L

Lukasz

Hallo,
Jeder erfahrene Phpler weis was diese Meldung deutet:

Warning: Cannot modify header information - headers already sent by (output started at /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/data/sql.inc.php:11) in /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/data/session.inc.php on line 40

Warning: Cannot modify header information - headers already sent by (output started at /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/data/sql.inc.php:11) in /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/data/session.inc.php on line 42

Nun ich betreibe meine Seite seit 2 Jahren. Immer ein und die selbe Session und die gleichen Grundscripte, und jetzt sowas. Ich bin schon die ganze Nacht wach und am verzweifeln!

Doch dann ging mir ein Licht auf. Ich rufe mein PHPmyadmin auf und Zack beim laden der index.php

Warning: Cannot modify header information - headers already sent by (output started at /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/phpmyadmin/config.inc.php:828) in /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/phpmyadmin/libraries/select_theme.lib.php on line 89

Warning: Cannot modify header information - headers already sent by (output started at /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/phpmyadmin/config.inc.php:828) in /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/phpmyadmin/index.php on line 55

Auch hier hatte ich nie ein Problem. Der Fehler wird immer dann ausgegeben, sobald ein Coookie angelegt werden soll.

Ich möchte aber sagen, dass alles bis gestern um 20 Uhr noch einwandfrei lief. Darauf hin habe ich meinen provider angerufen, und der meint das liegt an meinen Scripten.

Ich frage mich ob mir einer ins Hir ge**** hat oder ob der Provider einen Fehler hat.

Ich spiele aber eine Webseite eines anbieters auf, und Zack genau das gleiche.
Ich bin am verzweifeln, und weis nicht wocher das kommt. Ich habe nichts geändert. Der Provider aber meint da ist alles ok da phpinfo alles ok zeigt.

Was soll ich tun?

PHP:
// ##### SICHERHEITSSTUFE NR1 UNSET DER SESSION ####
unset($_SESSION[user_name],$_SESSION[user_rang],$ubrsessstamm,$ubrsessstamm2,$ubrsessstamm3,$ubrsessstamm4);
session_unset();
unset($_SESSION);
session_start();
$_SESSION[user_name] = "Gast";
$_SESSION[user_id] = "0";
$_SESSION[user_rang] = 0;

.....

Was soll daran falsch sein? Lief bislang 2 Jahre lang und warum laufen dann Seiten wie phpmyadmin nicht mehr?

http://h9755.serverkompetenz.net/phpinfo.php
 
Zuletzt bearbeitet von einem Moderator:
also bin mir nicht sicher, aber meiner Meinung nach funktioniert ein session_unset() erst nach einem session_start()

also bei mir so:

session_start();
$userid = $_SESSION["user_id"];
session_unset();
$_SESSION["user_id"] = $userid;

einfaches neuschreiben der Variable in diesem Fall
 
Hi,
dein Problem liegt an Deinen Scripten :) !

Du sagtest, immer wenn du versuchst ein COOKIE zu senden tritt der Fehler auf.

Ein COOKIE wird im HTTP_Header gesendet.
Auch deine Fehlermeldung ist eindeutig...

Fehler: Du versuchst ein COOKIE zu senden, obwohl bereits ein HTTP_Header ausgegeben wurde.

Das kann z.B. ein einfacher echo() Befehl sein der vor dem COOKIE - Header ausgegeben wird.

Zu 99.9999% liegt es daran! Ein Fehler des Servers kannst Da ja ausschließen!

MfG Sebastian

PS:
(output started at /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/data/sql.inc.php:11)

Sagt Dir sogar, wo der Header ausgegeben wurde ;)
 
Aber eben das ist nicht der Fall jetzt mal hier der Weg:


1. Index.php
PHP:
session_start();
{
include("data/config.inc.php");
}
...

2. config.inc.php
PHP:
if ($error == TRUE) { header("Location: error/index.php?error=$error"); }
{
include("sql.inc.php");
}
if ($error == TRUE) { header("Location: error/index.php?error=$error"); }
{
include("daten.inc.php");
}
if ($error == TRUE) { header("Location: error/index.php?error=$error"); }
{
include("session.inc.php");
}
...

immer if oder header

und dann folglich der Cookie in der session.inc.php
PHP:
// ###################################
// ##### DER LOGIN ZUM SERVER ########
// ###################################

if ($login==1 && strlen($username) >= 3 && strlen($passwort) >= 3)
{
if ($_COOKIE["loger"]) { header("Location: delcookie.php"); EXIT; }
$result=mysql_query("SELECT * FROM user WHERE user_name='$username' LIMIT 1");
while($row=mysql_fetch_array($result)){
{
if ($passwort == $row[user_pw] && time() > $row[user_cookie_sperrzeit] && $row[user_badlogin] < 3 && $username == $row[user_name]){
$diezeit=time();
$inhalt="$username#*#$passwort#*#$diezeit";
mysql_query("UPDATE user SET cookieanlegzeit='$diezeit' WHERE user_name='$row[user_name]' LIMIT 1");
{
setcookie("loger",$inhalt,time()+60*60*24*2);
}
header("Location: index.php");
} else { $versuch=$row[user_badlogin]; $versuch++; mysql_query("UPDATE user SET user_badlogin='$versuch' WHERE user_name='$username' LIMIT 1"); }
if ($versuch >= 3) { mysql_query("UPDATE user SET user_badlogin='0' WHERE user_name='$username' LIMIT 1"); $sperrzeit=time() + 300; mysql_query("UPDATE user SET user_cookie_sperrzeit='$sperrzeit' WHERE user_name='$username' LIMIT 1"); header("Location: delcookie.php"); EXIT; }
}
}
}

ein echo sthet bei mir in der index.php am ende sonst nirgendwo!

Und warum läuft dann phpmyadmin plötzlich nicht mehr?

Wäre dem riesen dankbar, der mir sagen kann wocher das kommt.
 
Zuletzt bearbeitet von einem Moderator:
EM-Autotechnik hat gesagt.:
Hi,

PS:
(output started at /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/data/sql.inc.php:11)

Sagt Dir sogar, wo der Header ausgegeben wurde ;)

Hier die Zeile 11

@mysql_select_db($sqldb) or $error = "$error,4";

Gesammt sql.inc.php
PHP:
<?php
$sqlroot = "**";
$sqluser = "**";
$sqlpw = "**";
$sqldb = "**";

$db = @mysql_connect($sqlroot,$sqluser,$sqlpw) or $error = "$error,1";
@mysql_select_db($sqldb) or $error = "$error,4"; 
?>
 
Hi,
schreib mal confg.inc.php so:

PHP:
if ($error == TRUE) 
	header("Location: error/index.php?error=$error");
else
	include("sql.inc.php"); 
		
if ($error == TRUE) 
	header("Location: error/index.php?error=$error");
else
	include("daten.inc.php"); 
		
if ($error == TRUE) 
	header("Location: error/index.php?error=$error"); 
else
	include("session.inc.php");

Ist das Alles vom Code, bevor Du das Cookie setzt?

Und warum läuft dann phpmyadmin plötzlich nicht mehr?

1. Mache Dir zunächst mal ein par Gedanken, wie und wo du {} -Klammer verwendest.
(da blickt ja keiner durch ;) )
2. Ich vermute, das Dir ein mysql - Error ausgegeben wird. Dadurch kann das Cookie natürlich nichtmehr gesendet werden.
Kannst mal mit "echo mysql_error();" testen.
 
Zuletzt bearbeitet:
ja schon ist aber $error Trure headert er auch weg, und es kommt dann nicht mehr zur session.inc.php .

Erstmal ich finde es echt super das ihr alle hilft! Hätte ich nicht gedacht!
Super Danke!

Wie gesagt, ich bin kein Anfänger und weis wocher der Fehler kommt, nur ist dies laut meiner Meinung nicht der Fall. Da die Seite 2 Monate auf diesem und ca 20 Monate auf einem anderem Server lief. Ebenfalls lief bis gestern noch phpmyadmin. Und jetzt nix mehr. Ich hatte einen Angriff, und denke dass der header eben dadurch schon versendet wird. Gestern hab ich mir den ganzen root exportiert, und finde aber nichts. Null. Aber läuft einfach nicht mehr!

Wenn es hilft, es wird kein Cookie angelegt. Weder durch die session.inc.php noch duch andere. Sonst geht alles.

Auf meinem Home Server läufts hier nicht, dan liegst evtl am Server oder PHP ich weis auch nicht. Ich habe wirklich schon viele Fehler behoben, aber so eins ist mir unbekannt.
 
Zuletzt bearbeitet von einem Moderator:
Ja lauf mal meine Seite an, du bekommst dann alle Daten ausgegben. Gehst du zum login ist es aus. Sobald das pw mit dem ersten Vergleich übereinstimmt, so kommt statt dem Cookie die Meldung.

Und was soll ich dazu sagen? Da stimmt wirklich was nicht. Ich habe eben einen phpkit aufgespielt, dort ist das gleiche Problem. Was nun? - Kopfschmerzen und Kaffee :)

Ich gebe einen aus!
Ist hier http://h9755.serverkompetenz.net/phpinfo.php
ein Fehler vorhanden, der das senden von cookies verbietet?

Ach ja das aller wichtigste habe ich vergessen, sobald ich eine Variable im Formular eingbe die den Nenner titel hat wird diese zu Plasser & Theurer 07-16r
gewandelt. Auch keine Ahnung warum.

Ich weis nur eins, dazu könnt ihr euch kurz das lesen:

http://www.2ts2.net/index.php?&get=forum/showpost.php&thisthread_id=504&seite=10000000
 
Zuletzt bearbeitet von einem Moderator:
ja schon ist aber $error Trure headert er auch weg, und es kommt dann nicht mehr zur session.inc.php .

also so:

PHP:
if ($error == TRUE) 
    header("Location: error/index.php?error=$error"); 

include("sql.inc.php"); 
         
if ($error == TRUE) 
    header("Location: error/index.php?error=$error"); 

include("daten.inc.php"); 
         
if ($error == TRUE) 
    header("Location: error/index.php?error=$error"); 
 
include("session.inc.php");

Und schon haben wir das Problem ;) !

FEHLER: in einem deiner Scripte wird $error aus TRUE gesetzt. -> header ausgegeben, -> und das nächste Script versucht ein COOKIE zu senden...

mach mal vor alle header() ein // und teste das erneut...
 
ok ich versuchs!

Bringt nichts genau das gleiche. Auch wenn ich das ganze ausklammer (bis auf sql.inc die ich ja in session.inc brauche)
grrr! Das ist eben ein Ding der Undinge!

Ich frage mich schon selbst ob ich einen Zwangspulli ankleiden soll?

Hmm, ich kann mir das nicht erklären aber der Server ist angeblich frei von Viren un Trojaneren laut Provider!

ich habs auch gerade mit nur include also ganz ohne if versucht, wieder das gleiche.
 
Zuletzt bearbeitet von einem Moderator:
Zurück