Hallo,
du nutzt die Variablen vor ihrer Wertzuweisung!
???? da komme ich grad nicht mit!
wenn das Formular aufgerufen wird, existieren $Datum und $Schicht noch nicht. Woher auch?
// Inhalte der Felder aus POST holen
Das reine "holen" ist Unsinn. Im Falle von $Datum, wo der vom Benutzer eingegebene Wert noch umgeformt wird, ist es okay - wobei ich hier jegliche Prüfung der Eingaben auf Korrektheit und/oder Plausibilität vermisse.
$Datum = date_german2mysql($_POST["Datum"]);
$Schicht = $_POST['Schicht'];
Aber die superglobale Variable $_POST['Schicht'] in $Schicht umzukopieren, hat absolut keinen Sinn.
<form action="/Fehlerbericht/test_.php?Schicht=<?=$Schicht?>&Datum=<?=$Datum?>" method="post" name="formular" id="formular">
Hier setzt du $Schicht und $Datum, obwohl sie noch gar nicht existieren, lustig als GET-Parameter in die Ziel-URL des Formulars ein. Wozu?
Das führt zu einer NOTICE-Meldung, und dazu, dass die beiden Werte als Leerstring eingesetzt werden. Damit sieht die erzeugte HTML-Zeile so aus:
<form action="/Fehlerbericht/test_.php?Schicht=&Datum=" method="post" name="formular" id="formular">
Den Sinn erkenne ich an dieser Stelle nicht; nicht einmal, was du damit meinen könntest.
<input type="text" class="defbreite" name="Datum" id="DATUM" value="<?php echo date("d.m.Y");?>">
Und ins Eingabefeld trägst du als Default das aktuelle Datum ein (übrigens das des Servers, der in einer ganz anderen Zeitzone stehen könnte).
<option value="Bitte auswählen! " selected="selected">Bitte auswählen! </option>
Warum "auswählen" und nicht "auswählen"?
test_.php
<?php
error_reporting(E_ALL);
$SCHICHT = $_GET['Schicht'];
$DATUM = $_GET['Datum'];
Auch hier ist das reine Umkopieren wieder sinnlos. Außerdem weißt du doch schon, was in $_GET['Schicht'] und $_GET['Datum'] übergeben wird: Je ein Leerstring (siehe oben). Das hast du ja so eingefädelt.
print("<pre>");
print_r($_GET);
print("</pre>\n");
Die eigentlichen Formulareingaben würde ich in $_POST[] vermuten, wenn du das Formular schon per POST abschickst. Wobei ich immer noch nicht verstehe, warum du gleichnamige, aber leere Parameter auch noch mit der URL (also als GET-Parameter) übergibst. Das ist sehr verwirrend.
So long,
Martin
--
Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Beim Universum bin ich mir aber nicht ganz sicher.
(Albert Einstein, deutscher Physiker)