Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 03-01-2016, 20:57
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 452
mermshaus wird schon bald berühmt werden
Standard

Willkommen im Forum!

$dt_from ist nicht $_POST['dt_from'].

Das Feld in $_POST ist eben beim ersten Aufruf nicht gesetzt. Kannst du mit isset oder array_key_exists abfragen.

Dein HTML-Code ist zumindest an einer Stelle fehlerhaft:

Code:
<input tpye="text" name="dt_from" id="#datefrom"
Dreher bei "type". Im Zweifel immer durch einen Validator schicken.

- https://validator.w3.org/

Dann brauchst du Umlaute nicht…

Code:
<input type="Reset" value="Zur&uuml;cksetzen">
…zu verst&uuml;mmeln, wenn du deine Zeichensätze und Zeichensatzangaben in Ordnung hast. Speichere am besten alle Dateien als UTF-8 (ohne BOM) ab und füge der PHP-Datei vor der ersten Ausgabe die Zeile…

Code:
header('Content-Type: text/html; charset=UTF-8');
…hinzu.

Weiterhin beachtest du nicht alle Kontextwechsel nach HTML (per htmlspecialchars).

- Programmiertechnik/Kontextwechsel ? SELFHTML-Wiki

Und Logikcode, der nicht nur rein was mit der Ausgabe zu tun hat, schreibt man in der Regel nicht in die HTML-Ausgabe, sondern führt ihn vorher aus, damit klar ist, was ausgegeben werden soll, sobald die Ausgabe beginnt. (Ein Effekt ist sonst etwa: Du stellst während der Ausgabe fest, dass ein Fehler vorliegt und du eine Fehlerseite ausgeben willst. Da steckst du dann aber schon mitten im HTML-Code einer normalen Seite.)

Das nennt sich üblicherweise EVA-Prinzip: EVA Prinzip - PHP Forum: phpforum.de
Mit Zitat antworten