Cannot modify header
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufgabe
ausgabe
beenden
bild
code
datei
datenbank
datum
eintrag
eintragen
fehler
fehlermeldung
header
image
kategorie
methode
text
type
update
verbindung
-
Hi,
diese Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at C:\\xampp\\htdocs\\login_sys\\formular_aufgaben.php:8) in C:\\xampp\\htdocs\\login_sys\\formular_aufgaben.php on line 110
kommt immer wieder wegen dem header ändern wie kann ich das änder bzw wie kann ich das verbessern.
CODE:
<?php session_start (); if (!isset ($_SESSION[\"user_id\"])) { header (\"Location: intern.php\"); } ?><font size=\"6+\">Bearbeiten von Aufgaben</font> <br> <?php $methode = $_GET[\'methode\']; $heading = $_GET[\'heading\']; if ($methode==\"\") { ?> Bitte eine den Art der Bearbeitung einstellen.<br><br> <a href=\"formular_aufgaben.php?methode=update\" target=\"self\">Ändern</a><br> <a href=\"formular_aufgaben.php?methode=insert\" target=\"self\">Einfügen</a><br> <a href=\"formular_aufgaben.php?methode=delete\" target=\"self\">Löschen</a><br> <?php } if ($methode==\"update\") { if ($heading==\"\") { $verbindung = mysql_pconnect( \"localhost\", \"root\", \"\"); if (!$verbindung) // War die verbindung NICHT erfolgreich? -> Wenn ja: Fehler auswerfen und beenden { echo\"<br><center><b>- Keine Verbindung zur Datenbank -</b></center>\"; exit; } mysql_select_db(\"ikg\"); //Datenbank auswählen in die geschrieben werden soll $sqlkommando = \"SELECT * FROM aufgaben ORDER BY heading ASC\"; $sqlanfrage = mysql_query($sqlkommando) or die(\"Error: \" . mysql_error()); // $sqlanfrage auf das Kommando:\" \'sqlkommando\' ausfuehren\" setzen // bei misserfolg beenden und fehlermeldung ausgeben while($daten = mysql_fetch_object($sqlanfrage)) // Solange wie daten ausgelesen werden können sollen { // sie in das Objekt \'$daten\' geladen und die folgende // schleife ausgegeben werden ?><a href=\"formular_aufgaben.php?methode=update&heading=<?php echo \"\".stripslashes($daten->heading) .\"\"; ?>\" ><?php echo \"\".stripslashes($daten->heading) .\"\"; ?></a> <br><br> <?php } } if ($heading!=\"\") { include \'conf.php\'; $tabelle =\"aufgaben\"; $dbverbindung = mysql_connect ($mysql_host, $mysql_user, $mysql_pw); $dbanfrage = \"SELECT * from $tabelle WHERE heading = \'$heading\' \"; $result = mysql_db_query ($mysql_db, $dbanfrage, $dbverbindung); while ($ausgabe = mysql_fetch_array ($result)) { ?><form form enctype=\'multipart/form-data\' action=\'#\' method=\'post\'> Datei:<br> <input name=\"userfile\" type=\"file\" size=\"20\"><br> Aktuelles Foto: \'<?php print (\"$ausgabe[bild]\"); ?>\'<br> Bitte nichts in dieses Feld eintragen, wenn kein neues Foto hochgeloadet werden möchte.<br><br> Überschrift: <br> <input type=\"text\" name=\"heading_formular\" value=\"<?php print (\"$ausgabe[heading]\"); ?>\" size=\"80\"> <br> Text:<br><textarea name=\"text_formular\" cols=\"50\" rows=\"10\"><?php print (\"$ausgabe[text]\"); ?></textarea> <br> <input type=\"submit\" name=\"neueintrag13\" value=\"Eintragen\"><br> <input type=\"reset\" value=\"Löschen\"></form><?php } mysql_close ($dbverbindung) ; $verbindung = mysql_connect( \"localhost\", \"root\", \"\"); //Verbindung if (!$verbindung) { echo \"<br><center><b>- Keine Verbindung zur Datenbank -</b></center>\"; exit; } mysql_select_db(\"ikg\"); if(isset($_POST[\'neueintrag13\'])){ $data = $_FILES[\'userfile\'][\'name\']; // Variable für Filename $heading_formular = $_POST[\'heading_formular\']; // Variable für Kategorie $text_formular = $_POST[\'text_formular\']; // Variable für Kategorie if ($data==\"\") { $update = mysql_query(\"UPDATE aufgaben Set heading = \'$heading_formular\', text = \'$text_formular\' WHERE heading = \'$heading\'\"); if ($update) { header (\"Location: intern.php\"); echo\'Erfolgreicher Datenbankeintrag\'; } if ($data!=\"\") { if(file_exists(\'aufgabenbilder/\'.$data.\'\')) { echo \"Diese Datei existiert bereits. Bitte benennen Sie die Datei um!\"; } else { $mimearray=array(\"image/gif\", \"image/jpeg\", \"image/pjpeg\",\"image/x-png\",\"image/png\") ; $uploaddir = \'aufgabenbilder/\'; if(in_array($_FILES[\'userfile\'][\'type\'],$mimearray)) { if (move_uploaded_file($_FILES[\'userfile\'][\'tmp_name\'], $uploaddir . $_FILES[\'userfile\'][\'name\'])) { print \"Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:\\n\"; print \"<br>\"; print \"Name: \".$_FILES[\'userfile\'][\'name\'].\"<br>\"; print \"Größe: \".$_FILES[\'userfile\'][\'size\'].\"<br>\"; print \"Typ: \".$_FILES[\'userfile\'][\'type\'].\"<br>\"; $update = mysql_query(\"UPDATE aufgaben Set bild = \'$data\', heading = \'$heading_formular\', text = \'$text_formular\' WHERE heading = \'$heading\'\"); if ($update) { echo\'Erfolgreicher Datenbankeintrag\'; header (\"Location: formular.php\"); } } } } } } } } if ($methode==\"insert\") { ?><form enctype=\"multipart/form-data\" action=\"#\" method=\"post\"> <font face=\"Verdana\"> <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"3000000\"> </font> <b><font size=\"1\">Dateigröße: max. 3MB erlaubt sind: *.gif | *.jpg | *.png</font></b><font size=\"2\"><br> </font>Datei:<input name=\"userfile\" type=\"file\" size=\"20\"><font size=\"2\"><br><br> </font>Heading:<input name=\"heading\" type=\"text\" size=\"20\"><font size=\"2\"><br> </font>Text:<textarea name=\"text\" cols=\"50\" rows=\"10\"></textarea> <br> <br> <font size=\"2\"> </font> <input type=\"submit\" name=\"senden\" value=\"upload\" ></form><?php if(isset($_POST[\'senden\'])){ // Zuerst bauen wir eine Verbindung zur Datenbank auf $verbindung = mysql_connect (\"localhost\", \"root\", \"\") or die (\"keine Verbindung möglich. Benutzername oder Passwort sind falsch\") ; mysql_select_db(\"ikg\") or die (\"Die Datenbank existiert nicht.\") ; $data = $_FILES[\'userfile\'][\'name\']; // Variable für Filename $heading = $_POST[\'heading\']; // Variable für Kategorie $text = $_POST[\'text\']; // Variable für Kategorie // Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt if($heading==\"\") // wenn leer, mace nix ansonsten gee zur Eintragsprüfung { echo \"Bitte Überschrift eingeben!<br>\"; } if($text==\"\") // wenn leer, mace nix ansonsten gee zur Eintragsprüfung { echo \"Bitte Text eintragen<br>\"; } if($data==\"\") // wenn leer, mace nix ansonsten gee zur Eintragsprüfung { $eintrag = \"INSERT INTO aufgaben (heading, text) VALUES (\'$heading\',\'$text\')\"; $eintragen = mysql_query($eintrag); if($eintragen == true) { echo \"Eintrag erfolgreich in die Datenbank eingetragen\"; } else{ print \"Fehler beim Eintragen in die Datenbank\"; } } else { if(file_exists(\'aufgabenbilder/\'.$data.\'\')) // wenn Datei existiert, mace nix //ansonsten gehe zum Dateiupload uploadbilder ist das uploadverzeichnis { echo \"Diese Datei existiert bereits. Bitte benennen Sie die Datei um!\"; } else { // In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden. // In PHP kleiner als 4.0.3 verwenden man copy() und is_uploaded_file() anstatt von // move_uploaded_file() //Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen $mimearray=array(\"image/gif\", \"image/jpeg\", \"image/pjpeg\",\"image/x-png\",\"image/png\") ; //Upload verzeichnis $uploaddir = \'aufgabenbilder/\'; //Prüfen ob Formular gesendet wurde if($_POST[\'senden\']==true){ // Prüfung auf Gültigkeit des Vordeklarierten MimeTyps if(in_array($_FILES[\'userfile\'][\'type\'],$mimearray)) { // dateiupload if (move_uploaded_file($_FILES[\'userfile\'][\'tmp_name\'], $uploaddir . $_FILES[\'userfile\'][\'name\'])) { print \"Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:\\n\"; print \"<br>\"; print \"Name: \".$_FILES[\'userfile\'][\'name\'].\"<br>\"; print \"Größe: \".$_FILES[\'userfile\'][\'size\'].\"<br>\"; print \"Typ: \".$_FILES[\'userfile\'][\'type\'].\"<br>\"; $eintrag = \"INSERT INTO aufgaben (bild, heading, text,) VALUES (\'$data\',\'$heading\',\'$text\')\"; $eintragen = mysql_query($eintrag); if($eintragen == true) { echo \"Eintrag erfolgreich in die Datenbank eingetragen\"; header (\"Location: intern.php\"); } }else{ // Fehler beim Dateiupload print \"Fehler beim Dateiupload\"; } }else{ //Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht print $_FILES[\'userfile\'][\'name\'].\" - \".$_FILES[\'userfile\'][\'type\'].\" <br>ist nicht für den Upload gestatet\"; } } } } } } if ($methode==\"delete\") { if ($heading==\"\") { $verbindung = mysql_pconnect( \"localhost\", \"root\", \"\"); if (!$verbindung) // War die verbindung NICHT erfolgreich? -> Wenn ja: Fehler auswerfen und beenden { echo \"<br><center><b>- Keine Verbindung zur Datenbank -</b></center>\"; exit; } mysql_select_db(\"ikg\"); //Datenbank auswählen in die geschrieben werden soll $sqlkommando = \"SELECT * FROM aufgaben ORDER BY heading ASC\"; $sqlanfrage = mysql_query($sqlkommando) or die(\"Error: \" . mysql_error()); // $sqlanfrage auf das Kommando:\" \'sqlkommando\' ausfuehren\" setzen // bei misserfolg beenden und fehlermeldung ausgeben while($daten = mysql_fetch_object($sqlanfrage)) // Solange wie daten ausgelesen werden können sollen { // sie in das Objekt \'$daten\' geladen und die folgende // schleife ausgegeben werden ?><a href=\"formular_aufgaben.php?methode=delete&heading=<?php echo \"\".stripslashes($daten->heading) .\"\"; ?>\" ><?php echo \"\".stripslashes($daten->heading) .\"\"; ?></a> <br><br> <?php } } if ($heading!=\"\") { ?> Möchtest du wirklich die Aufgabe \'<?php echo $heading ; ?>\' löschen?<br><br> <form form enctype=\'multipart/form-data\' action=\'#\' method=\'post\'> <input type=\"submit\" name=\"neueintrag11\" value=\"JA\"><br><?php $verbindung = mysql_connect( \"localhost\", \"root\", \"\"); //Verbindung if (!$verbindung) { echo \"<br><center><b>- Keine Verbindung zur Datenbank -</b></center>\"; exit; } mysql_select_db(\"ikg\"); if(isset($_POST[\'neueintrag11\'])){ $delete = mysql_query(\"DELETE FROM aufgaben WHERE heading=\'$heading\';\"); { echo \'Das Profil ist erfolgreich in der Datenbank gelöscht worden.\'; header (\"Location: intern.php\"); } } } } } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du darfst vor header() keine Ausgabe haben.
-
In Zeile 110 versuchst du über header(\'Location: ...\'); eine \"Weiterleitung\" zu machen, was aber nicht funktionieren kann, da du schon in Zeile 6 eine andere Ausgabe machst <font ...>. Willst du eine Weiterleitung über header(Location: ...\'); machen, darfst du vorher jedoch nichts ausgeben, sonst erhälst du genau diesen Fehler, wie beschrieben.
-
Kannst mir das mal sagen wie das geht z.B. bei
if ($heading!=\"\") { ?> Möchtest du wirklich die Aufgabe \'<?php echo $heading ; ?>\' löschen?<br><br> <form form enctype=\'multipart/form-data\' action=\'#\' method=\'post\'> <input type=\"submit\" name=\"neueintrag11\" value=\"JA\"><br><?php $verbindung = mysql_connect( \"localhost\", \"root\", \"\"); //Verbindung if (!$verbindung) { echo \"<br><center><b>- Keine Verbindung zur Datenbank -</b></center>\"; exit; } mysql_select_db(\"ikg\"); if(isset($_POST[\'neueintrag11\'])){ $delete = mysql_query(\"DELETE FROM aufgaben WHERE heading=\'$heading\';\"); { echo \'Das Profil ist erfolgreich in der Datenbank gelöscht worden.\'; header (\"Location: intern.php\"); } } }
einfach echo und header tauschen hat net geklappt -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage