ich hoffe, dass es hier im richtigen Unterforum gepostet ist,
aber ich denke, dass der Fehler mit HTML zusammenhängt.
Sende ich ein Formular auf einer PHP-Seite an den Server,
erhalte ich folgende Meldung:
Warning: Cannot modify header information -
headers already sent by (output started at /var/www/htdocs/smart1/html/smhr/templates/navi.tpl.php:108)
in /var/www/htdocs/smart1/html/smhr/add_Kunde.php on line 78
Bei der navi.tpl.php handelt es sich um den Head-Bereich inkl. den Navigationselementen:
[HTML]<?php
require_once(‚session.php‘);
require_once 'src/Entities/User.php';
$auth_user = new USER();
$user_id = $_SESSION['user_session'];
$stmt = $auth_user->runQuery("SELECT * FROM users WHERE user_id=:user_id");
$stmt->execute(array(":user_id"=>$user_id));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
$user_group = $userRow['group'];
Macht an dieser Stelle des Quellcodes aber wenig Sinn. Zumal sich der Fehler auf „add_Kunde.php“ und nicht „navi.tpl.php“ bezieht.
Man sollte die Fehlermeldung schon richtig lesen.
Die genannte Fehlermeldung wird vom PHP-Parser erzeugt, wenn versucht wird HTTP-Header-Daten zu senden, obwohl bereits Body-Daten gesendet wurden. Nachdem ein Client (z.B. ein Webbrowser) eine HTTP-Anfrage auf eine Webseite stellt, gibt der Server eine HTTP-Antwort. Anfrage als auch Antwort bestehen aus zwei Teilen: Header (Kopf) und Body (Körper) der Sendung.
Im Header stehen Hintergrundinformationen und Kopfdaten zur aktuellen Übertragung. Er steht immer am Anfang.
Im Body wird der eigentliche Inhalt der Anfrage bzw. Antwort übertragen. Er folgt auf den Header.
Du bekommst zwei Hinweise von PHP!
Einmal, wo der Fehler bemerkt wurde, also „add_Kunde.php on line 78“ und dann, warum ein Fehler auftritt, also „(output started at /var/www/htdocs/smart1/html/smhr/templates/navi.tpl.php:108)“
Ich tippe mal darauf, dass in add_kunde.php sowas wie header steht und schon haben wir das Problem eingekreist. Wenn man mit diesen millionen google-Treffern nicht auf das Problem und die Lösung kommt, … ich sag’s besser nicht.
Ja, in der Datei steht eine Header-Anweisung.
Aber was ich nicht verstehe…
Warum funktioniert denn alles, wenn ich den einen
Code-Schnippsel entferne? Dann kann es ja nicht an
der header-Anweisung in der add_kunde.php liegen
Vielleicht siehst du die Fehlermeldung nicht, sieh’ dir mal den HTML-Code an, den der Browser ausgeliefert bekommt. Und doch, es liegt an der header-Anweisung, die ist falsch plaziert.
Ja, so ist es.
Wie kann ich denn ohne header-Anweisung eine Weiterleitung realisieren,
sobald ich den Kunden angelegt habe, bzw. das Formular an die add_
kunde.php geschickt habe? Ich möchte dann auf eine andere Seite
weitergeleitet werden, um in der App weiter arbeiten zu können.