Ich habe ein Problem bei der Modifizierung in PHP

Ich habe bei 2 Dateien ein modifizierunsfehler im Sript. die fehler Treten beim Anmelden und User login auf. Fehlercode:Warning: Cannot modify header information - headers already sent by (output started at /data/multiserv/users/304572/projects/444874/www/system/funktionen.php:434) in /data/multiserv/users/304572/projects/444874/www/anmelden2.php on line 294
und bei login ähnlich login.php on line 29

In der betreffende Zeile steht: header( Location: „.SEITENURL.“/anmelden3.php?go=done");
muss da etwas geändert werden. Projekt http://titan.eu.cm Vielen Dank im voraus bei der Hilfe

Hi,

Das passiert, wenn Du zB. Leerzeichen oder Leerzeilen am Anfang der pgp Datei eingefügt hast. Oder bei Printbefehlen die an der falschen Zeile ausgegeben werden.

Gruß
Rudi

Vor

Hi wardi,

dieser Fehler tritt auf wenn ein Script irgendeine Ausgabe an den Browser schickt (mit echo/print o.ä, kann auch schon ein Leerzeichen vor den öffnenden bzw. nach den schließenden PHP Tags sein) und dann versucht mit header eine Weiterleitung zu senden. Der Browser hat bereits einen Header mit der Ausgabe bekommen und deshalb kann PHP keinen neuen schicken. Prüfe am besten mal die funktionen.php ob dort eine Ausgabe passiert. Ohne den Code zu sehen, kann ich dir da leider nicht mehr sagen.
Grundsätzlich als Tipp vielleicht noch. Dateien die du nur zum includen verwendest (wie wahrscheinlich deine funktionen.php) brauchen keine schließenden PHP Tags am Ende der Datei.
Bei weiteren Fragen, schreib mir einfach.

Alex

Vor <?php darf nix stehen!

nochmals Danke für die Anwort
am besten ich zeige die ganze datei. das anmelden fuktioniert email kommt an .bloss dies Fehlermeldung.

<?PHP
include "./inc/config.inc.php"; include "./inc/systemeinstellungen.php"; include "./system/funktionen.php"; include "./inc/de.php"; $startzeit = getmicrotime(); db(); $seitentitel= PROJEKT\_TITEL1.' - '.PROJEKT\_TITEL2.' - Account anmelden'; $ist\_eingetragen = false; if (isset($\_POST['go']) && $\_POST['go'] == "next") { // ----- eingehende Daten bearbeiten --------------- $com\_anmeldung= "nein"; $ipnr = $\_SERVER["REMOTE\_ADDR"]; $plz= strip\_tags(trim($\_POST['plz'])); $telefon= strip\_tags(trim($\_POST['telefon'])); $user= strip\_tags(trim($\_POST['user'])); $plz= strip\_tags(trim($\_POST['plz'])); $telefon= strip\_tags(trim($\_POST['telefon'])); $name= strip\_tags(trim($\_POST['name'])); $stadt= strip\_tags(trim($\_POST['stadt'])); $strasse= strip\_tags(trim($\_POST['strasse'])); $land= strip\_tags($\_POST['land']); $provinz= strip\_tags($\_POST['provinz']); $newsl= strip\_tags($\_POST['newsl']); $kontakt= strip\_tags($\_POST['kontakt']); $agb= strip\_tags($\_POST['agb']); $mail= strip\_tags(trim($\_POST['mail'])); $mail2= strip\_tags(trim($\_POST['mail22'])); // verifizieren -------------------------------------------- $cs= true; // Fehlervariable $anzeige =""; $resultatx =""; if (empty($user)) { $anzeige= $anzeige.$anmeldung\_24a; $cs= false; } else { if(!eregi("^[0-9a-zA-Z[:space:]äöüÄÖÜß-]\*$", $user)) { $anzeige= $anzeige.$anmeldung\_024; $cs= false; } } if ($mail != $mail2) { $anzeige= $anzeige.$anmeldung\_5; $cs= false; } elseif(!eregi("^([\_[:alnum:]-]+)(\.[\_[:alnum:]-]+)\*@([[:alnum:]])([[:alnum:]\.-]+)([[:alnum:]])\.([[:alpha:]]{2,6})$",$mail)) { $anzeige= $anzeige.$anmeldung\_6; $cs= false; } else { $mailzahl= strlen($mail); $home\_url\_code++; if($mailzahl\>= $home\_url\_code) { $anzeige= $anzeige.$anmeldung\_7; $cs= false; } } if (empty($plz)) { $anzeige= $anzeige.$anmeldung\_20; $cs= false; } elseif(strlen($plz) \> $plz\_land) { $anzeige= $anzeige.$anmeldung\_0020; $cs= false; } elseif(strlen($plz) 16) || ($land ==2 && ($provinz 26)) || ($land ==3 && ($provinz 52))) { $anzeige= $anzeige.$anmeldung\_18c; $cs=3; } } if (empty($strasse)) { $anzeige= $anzeige.$anmeldung\_19; $cs= false; } else { if(!eregi("^[0-9a-zA-Z/[:space:]äöüÄÖÜß\.,-]\*$", $strasse)) { $anzeige= $anzeige.$anmeldung\_019; $cs= false; } } $if\_username\_sql= mysql\_query("SELECT mail, user FROM ".$dbtable06." WHERE user='".NoI("$user")."' OR mail='".NoI("$mail")."' "); $ROW= mysql\_fetch\_assoc($if\_username\_sql); if (strtolower($ROW['user']) == strtolower("$user")) // User überprüfen { // Username vorhanden $anzeige= $anzeige.$anmeldung\_100a; $cs= false; } if (strtolower($ROW['mail']) == strtolower("$mail")) // eMail überprüfen { // eMail vorhanden $anzeige= $anzeige.$anmeldung\_100b; $cs= false; } if($agb !="ja") { $anzeige= $anzeige.$anmeldung\_10; $cs= false; } // SPAM-Schutz ------------------------------------------ $eintragzahl\_sql= mysql\_query("SELECT COUNT(\*) as 'anzahl' FROM ".$dbtable101." WHERE ipnr= '".$ipnr."' AND art ='anmeldung' "); $anzahl = mysql\_result($eintragzahl\_sql,0,'anzahl'); if($anzahl \> 10) { $anzeige =' **Spamschutz:** Die IP **'.$ipnr.'** ist bis auf weiteres gesperrt! '; $cs= false; } elseif($anzahl **Spamschutz:** Ergebnis falsch - bitte nochmals versuchen... '; $cs= false; } } else { $anzeige =' **Spamschutz:** Anmeldung nicht möglich... '; $cs= false; } // ------------------------------------------------------ // ----------------------------------------------------------------------------------- if($cs == true) { mysql\_query("DELETE FROM ".$dbtable101." WHERE ipnr= '".$ipnr."' "); $strasse = replaceu($strasse); $stadt = replaceu($stadt); $name = replaceu($name); $user = replaceu($user); // User-ID generieren ------------------------------- $stringoption = 2; $userID = generieren($stringoption); $cont =date("dm"); $userID= $userID.$cont; $data\_time= date("d.m.Y"); $zeit = time(); // Passwort generieren --------------------------------- $stringoption = 2; $passwd = generieren($stringoption); $ipnr = $\_SERVER["REMOTE\_ADDR"]; if($com\_anmeldung =="nein") { mysql\_query("INSERT INTO ".$dbtable06." SET kontakt = '".NoI("$kontakt")."', user = '".NoI("$user")."', name = '".NoI("$name")."', mail = '".NoI("$mail")."', stadt = '".NoI("$stadt")."', land = '".$land."', provinz = '".$provinz."', strasse = '".NoI("$strasse")."', plz = '".$plz."', telefon = '".NoI("$telefon")."', newsletter = '".NoI("$newsl")."', code = '9', userid = '".$userID."', pass = '".md5($passwd)."', datum = '".$data\_time."', ipnr = '".$ipnr."', zeitstempel = '".$zeit."' "); } $linkid\_suchen = mysql\_fetch\_row(mysql\_query("SELECT siteid FROM ".$dbtable06." WHERE userid='".$userID."' ")); $account\_nr = $linkid\_suchen[0]; if($newsl =="ja") { // ist die eMail-Adresse bereits im Verteiler vorhanden ? $mailsuchen = mysql\_query("SELECT \* FROM ".$dbtable04." WHERE mail = '".NoI("$mail")."' "); $result = mysql\_fetch\_assoc($mailsuchen); if(empty($result)) { // Noch nicht vorhanden - Daten eintragen ------------ mysql\_query("INSERT INTO ".$dbtable04." SET datum = '".$data\_time."', name = '".NoI("$name")."', user = '".NoI("$user")."', userid = '".$userID."', code = '1', ipnr = '".$ipnr."', mail = '".NoI("$mail")."', zeit = '".$zeit."', html = 'nein' "); } } $adminmail = ADMINMAIL; $freischalt\_url = SEITENURL; $freischaltlink = $freischalt\_url.'/a.php?id='.$userID; if($com\_anmeldung =="nein") { // eMail bei Privataccount versenden --------------------------------- $email\_datei = mysql\_fetch\_row(mysql\_query("SELECT mail12 FROM ".$dbtable96." ")); $email\_text = replaceback($email\_datei[0]); $ROWi = mysql\_fetch\_row(mysql\_query("SELECT mail\_werbung FROM ".$dbtable97." ")); $email\_block = replaceback($ROWi[0]); $array\_1 = array('', '', '', '', '', ''); $array\_2 = array("$user", "$freischalt\_url", "$passwd", "$mail", "$email\_block", "$freischaltlink"); $email\_text = str\_replace($array\_1, $array\_2, $email\_text); mail("$mail", // Empfänger "$emailaccount", // Betreff "$email\_text", // eMail-Text "From: $adminmail\nReply-To: $adminmail\nX-Mailer: PHP/".phpversion()); // Absender, PHP-Version } if($admin\_email=="ja" && $com\_anmeldung =="nein") { // eMail an Admin versenden ----------------------------------- $email\_datei\_admin = mysql\_fetch\_row(mysql\_query("SELECT mail14 FROM ".$dbtable96." ")); $email\_text\_admin = replaceback($email\_datei\_admin[0]); $array\_3 = array('', '', '', '', ''); $array\_4 = array("$user", "$name", "$data\_time", "$freischalt\_url", "$mail"); $email\_text\_admin = str\_replace($array\_3, $array\_4, $email\_text\_admin); mail("$adminmail", // Empfänger "$emailadmincom", // Betreff "$email\_text\_admin", // eMail-Text "From: $adminmail\nReply-To: $adminmail\nX-Mailer: PHP/".phpversion()); // Absender, PHP-Version } $ist\_eingetragen = true; } if ($ist\_eingetragen == true) { header( Location: ".SEITENURL."/anmelden3.php?go=done"); exit; } } else { header( "Location: ".SEITENURL."/index.php"); exit; } ?\> <?PHP echo $seitentitel ?><?PHP echo $metatags ?>

<!–
button1= new Image();
button1.src = „button_home.gif“
button2= new Image();
button2.src = „button_home2.gif“
//–>

<?PHP $headerinfo= 'Sie befinden sich hier -->   Account anmelden'; include "./inc/header.php"; ?\> <?PHP echo $seitendatum ?> <?PHP echo $menuli_name ?> <?PHP include "./inc/menulinks.php"; ?>

 

Account anmelden

<?PHP if (isset($_POST['go']) && $_POST['go'] == "next" && $cs == false)
{ echo ' '.$anzeige.' '; echo ' '.$anmeldung\_60.' [Zurück](javascript:history.back();) '; } ?\> <?PHP echo $menure_name ?> <?PHP include "./inc/menurechts.php"; ?>

 

<?PHP include "./inc/footer.php";
db\_(); ?\>

So wie ich das sehe, ist vor

Hier die datei
von anmeldem2.php vielleicht steht da etwas dazu. nochmals Danke

<?PHP include "./inc/config.inc.php";
include "./inc/systemeinstellungen.php"; include "./system/funktionen.php"; include "./inc/de.php"; $startzeit = getmicrotime(); db(); $seitentitel= PROJEKT\_TITEL1.' - '.PROJEKT\_TITEL2.' - Account anmelden'; $ist\_eingetragen = false; if (isset($\_POST['go']) && $\_POST['go'] == "next") { // ----- eingehende Daten bearbeiten --------------- $com\_anmeldung= "nein"; $ipnr = $\_SERVER["REMOTE\_ADDR"]; $plz= strip\_tags(trim($\_POST['plz'])); $telefon= strip\_tags(trim($\_POST['telefon'])); $user= strip\_tags(trim($\_POST['user'])); $plz= strip\_tags(trim($\_POST['plz'])); $telefon= strip\_tags(trim($\_POST['telefon'])); $name= strip\_tags(trim($\_POST['name'])); $stadt= strip\_tags(trim($\_POST['stadt'])); $strasse= strip\_tags(trim($\_POST['strasse'])); $land= strip\_tags($\_POST['land']); $provinz= strip\_tags($\_POST['provinz']); $newsl= strip\_tags($\_POST['newsl']); $kontakt= strip\_tags($\_POST['kontakt']); $agb= strip\_tags($\_POST['agb']); $mail= strip\_tags(trim($\_POST['mail'])); $mail2= strip\_tags(trim($\_POST['mail22'])); // verifizieren -------------------------------------------- $cs= true; // Fehlervariable $anzeige =""; $resultatx =""; if (empty($user)) { $anzeige= $anzeige.$anmeldung\_24a; $cs= false; } else { if(!eregi("^[0-9a-zA-Z[:space:]äöüÄÖÜß-]\*$", $user)) { $anzeige= $anzeige.$anmeldung\_024; $cs= false; } } if ($mail != $mail2) { $anzeige= $anzeige.$anmeldung\_5; $cs= false; } elseif(!eregi("^([\_[:alnum:]-]+)(\.[\_[:alnum:]-]+)\*@([[:alnum:]])([[:alnum:]\.-]+)([[:alnum:]])\.([[:alpha:]]{2,6})$",$mail)) { $anzeige= $anzeige.$anmeldung\_6; $cs= false; } else { $mailzahl= strlen($mail); $home\_url\_code++; if($mailzahl\>= $home\_url\_code) { $anzeige= $anzeige.$anmeldung\_7; $cs= false; } } if (empty($plz)) { $anzeige= $anzeige.$anmeldung\_20; $cs= false; } elseif(strlen($plz) \> $plz\_land) { $anzeige= $anzeige.$anmeldung\_0020; $cs= false; } elseif(strlen($plz) 16) || ($land ==2 && ($provinz 26)) || ($land ==3 && ($provinz 52))) { $anzeige= $anzeige.$anmeldung\_18c; $cs=3; } } if (empty($strasse)) { $anzeige= $anzeige.$anmeldung\_19; $cs= false; } else { if(!eregi("^[0-9a-zA-Z/[:space:]äöüÄÖÜß\.,-]\*$", $strasse)) { $anzeige= $anzeige.$anmeldung\_019; $cs= false; } } $if\_username\_sql= mysql\_query("SELECT mail, user FROM ".$dbtable06." WHERE user='".NoI("$user")."' OR mail='".NoI("$mail")."' "); $ROW= mysql\_fetch\_assoc($if\_username\_sql); if (strtolower($ROW['user']) == strtolower("$user")) // User überprüfen { // Username vorhanden $anzeige= $anzeige.$anmeldung\_100a; $cs= false; } if (strtolower($ROW['mail']) == strtolower("$mail")) // eMail überprüfen { // eMail vorhanden $anzeige= $anzeige.$anmeldung\_100b; $cs= false; } if($agb !="ja") { $anzeige= $anzeige.$anmeldung\_10; $cs= false; } // SPAM-Schutz ------------------------------------------ $eintragzahl\_sql= mysql\_query("SELECT COUNT(\*) as 'anzahl' FROM ".$dbtable101." WHERE ipnr= '".$ipnr."' AND art ='anmeldung' "); $anzahl = mysql\_result($eintragzahl\_sql,0,'anzahl'); if($anzahl \> 10) { $anzeige =' **Spamschutz:** Die IP **'.$ipnr.'** ist bis auf weiteres gesperrt! '; $cs= false; } elseif($anzahl **Spamschutz:** Ergebnis falsch - bitte nochmals versuchen... '; $cs= false; } } else { $anzeige =' **Spamschutz:** Anmeldung nicht möglich... '; $cs= false; } // ------------------------------------------------------ // ----------------------------------------------------------------------------------- if($cs == true) { mysql\_query("DELETE FROM ".$dbtable101." WHERE ipnr= '".$ipnr."' "); $strasse = replaceu($strasse); $stadt = replaceu($stadt); $name = replaceu($name); $user = replaceu($user); // User-ID generieren ------------------------------- $stringoption = 2; $userID = generieren($stringoption); $cont =date("dm"); $userID= $userID.$cont; $data\_time= date("d.m.Y"); $zeit = time(); // Passwort generieren --------------------------------- $stringoption = 2; $passwd = generieren($stringoption); $ipnr = $\_SERVER["REMOTE\_ADDR"]; if($com\_anmeldung =="nein") { mysql\_query("INSERT INTO ".$dbtable06." SET kontakt = '".NoI("$kontakt")."', user = '".NoI("$user")."', name = '".NoI("$name")."', mail = '".NoI("$mail")."', stadt = '".NoI("$stadt")."', land = '".$land."', provinz = '".$provinz."', strasse = '".NoI("$strasse")."', plz = '".$plz."', telefon = '".NoI("$telefon")."', newsletter = '".NoI("$newsl")."', code = '9', userid = '".$userID."', pass = '".md5($passwd)."', datum = '".$data\_time."', ipnr = '".$ipnr."', zeitstempel = '".$zeit."' "); } $linkid\_suchen = mysql\_fetch\_row(mysql\_query("SELECT siteid FROM ".$dbtable06." WHERE userid='".$userID."' ")); $account\_nr = $linkid\_suchen[0]; if($newsl =="ja") { // ist die eMail-Adresse bereits im Verteiler vorhanden ? $mailsuchen = mysql\_query("SELECT \* FROM ".$dbtable04." WHERE mail = '".NoI("$mail")."' "); $result = mysql\_fetch\_assoc($mailsuchen); if(empty($result)) { // Noch nicht vorhanden - Daten eintragen ------------ mysql\_query("INSERT INTO ".$dbtable04." SET datum = '".$data\_time."', name = '".NoI("$name")."', user = '".NoI("$user")."', userid = '".$userID."', code = '1', ipnr = '".$ipnr."', mail = '".NoI("$mail")."', zeit = '".$zeit."', html = 'nein' "); } } $adminmail = ADMINMAIL; $freischalt\_url = SEITENURL; $freischaltlink = $freischalt\_url.'/a.php?id='.$userID; if($com\_anmeldung =="nein") { // eMail bei Privataccount versenden --------------------------------- $email\_datei = mysql\_fetch\_row(mysql\_query("SELECT mail12 FROM ".$dbtable96." ")); $email\_text = replaceback($email\_datei[0]); $ROWi = mysql\_fetch\_row(mysql\_query("SELECT mail\_werbung FROM ".$dbtable97." ")); $email\_block = replaceback($ROWi[0]); $array\_1 = array('', '', '', '', '', ''); $array\_2 = array("$user", "$freischalt\_url", "$passwd", "$mail", "$email\_block", "$freischaltlink"); $email\_text = str\_replace($array\_1, $array\_2, $email\_text); mail("$mail", // Empfänger "$emailaccount", // Betreff "$email\_text", // eMail-Text "From: $adminmail\nReply-To: $adminmail\nX-Mailer: PHP/".phpversion()); // Absender, PHP-Version } if($admin\_email=="ja" && $com\_anmeldung =="nein") { // eMail an Admin versenden ----------------------------------- $email\_datei\_admin = mysql\_fetch\_row(mysql\_query("SELECT mail14 FROM ".$dbtable96." ")); $email\_text\_admin = replaceback($email\_datei\_admin[0]); $array\_3 = array('', '', '', '', ''); $array\_4 = array("$user", "$name", "$data\_time", "$freischalt\_url", "$mail"); $email\_text\_admin = str\_replace($array\_3, $array\_4, $email\_text\_admin); mail("$adminmail", // Empfänger "$emailadmincom", // Betreff "$email\_text\_admin", // eMail-Text "From: $adminmail\nReply-To: $adminmail\nX-Mailer: PHP/".phpversion()); // Absender, PHP-Version } $ist\_eingetragen = true; } if ($ist\_eingetragen == true) { header( Location: ".SEITENURL."/anmelden3.php?go=done"); exit; } } else { header( "Location: ".SEITENURL."/index.php"); exit; } ?\> <?PHP echo $seitentitel ?><?PHP echo $metatags ?>

<!–
button1= new Image();
button1.src = „button_home.gif“
button2= new Image();
button2.src = „button_home2.gif“
//–>

<?PHP $headerinfo= 'Sie befinden sich hier -->   Account anmelden'; include "./inc/header.php"; ?\> <?PHP echo $seitendatum ?> <?PHP echo $menuli_name ?> <?PHP include "./inc/menulinks.php"; ?>

 

Account anmelden

<?PHP if (isset($_POST['go']) && $_POST['go'] == "next" && $cs == false)
{ echo ' '.$anzeige.' '; echo ' '.$anmeldung\_60.' [Zurück](javascript:history.back();) '; } ?\> <?PHP echo $menure_name ?> <?PHP include "./inc/menurechts.php"; ?>

 

<?PHP include "./inc/footer.php";
db\_(); ?\>

So wie ich das sehe, ist vor

Bitte send mir Deine Emai-Adresse dann können wir privat miteinaner kommunizieren. Sollten Diene Zugangsdaten hier im Forum öffentlich zu lesen sein, dann würde ich die an Deiner Stelle schleunigst löschen. Du erreichst mich unter: [email protected]

Gruß…

Hallo wardi,

der header-output-Befehl muss abgesetzt werden, bevor auch nur ein einziges HTML-Zeichen ausgegeben wird. Der Fehler taucht auf wenn z.B. ein Leerzeichen vor dem ersten PHP-Bereich steht. Der Header wird nämlich von PHP aus gesendet, sobald das erste HTML-Zeiten ausgegeben wird. Ist der Header einmal gesendet, kann man nichts mehr dran ändern und wenn man es doch versucht (mit der header-Funktion), kommt diese Fehlermeldung.
Die häufigste Ursache ist ein Leerzeichen vor dem ersten

Hallo wardi,

das Problem liegt nicht an Deinem Aufruf, sondern davor: Wenn Du die header()-Funktion aufrufst, darfst Du vorher keinerlei Ausgaben in die Seite machen. Keine Leerzeilen, Leerzeichen, kein HTML, gar nichts. Irgendwo vor Deinem Aufruf wird etwas ausgegeben, vielleicht auch aus Versehen. Such mal danach, in Deinem Fall deutet die Fehlermeldung auf funktionen.php Zeile 434 hin. Auch Leerzeilen am Anfang eines Skripts kommen immer wieder vor.

Schau Dir auch mal die Hilfe zu den folgenden PHP-Funktionen an:
http://php.net/manual/de/function.header.php
http://www.php.net/manual/de/function.ob-start.php
http://www.php.net/manual/de/function.ob-end-flush.php

Ich habe bei 2 Dateien ein modifizierunsfehler im Sript. die
fehler Treten beim Anmelden und User login auf.
Fehlercode:Warning: Cannot modify header information - headers
already sent by (output started at
/data/multiserv/users/304572/projects/444874/www/system/funktionen.php:434)