Der Martin: Variable mit Button übergeben

Beitrag lesen

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&auml;hlen! " selected="selected">Bitte ausw&auml;hlen! </option>

Warum "ausw&auml;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)