Hi(gh)!
Folgende Funktion zur Überprüfung von Formulardaten:
function check()
{
$ok = false;
if (!$_POST['Marke'])
echo "<p>Bitte wählen Sie eine Marke aus!</p>";
else if (!$_POST['Modell'])
echo "<p>Bitte geben Sie ein Modell ein!</p>";
else if ($_POST['Markteinfuehrung'] != "" && $_POST['EndeProduktion'] != "" && ((!is_numeric($_POST['Markteinfuehrung']) || !is_numeric($_POST['EndeProduktion']) || $_POST['Markteinfuehrung']<1934 || $_POST['EndeProduktion']<1934 )))
echo "<p>Bitte geben Sie nur Jahreszahlen ab 1934 ein!</p>";
else if ($_POST['Markteinfuehrung'] > date("Y") || $_POST['EndeProduktion'] > date("Y"))
echo "<p>Mindestens eine von Ihnen eingegebene Jahreszahl liegt in der Zukunft. Bitte geben sie Jahreszahlen von 1934 bis ".date("Y")." ein!</p>";
else if ($_POST['Markteinfuehrung'] > $_POST['EndeProduktion'])
echo "<p>Das Markteinführungsjahr muss früher als das Jahr des Produktionsendes sein. Bitte korrigieren Sie Ihre Eingabe!</p>";
else if (($_POST['Neupreis'] = "" && $_POST['Waehrung'] != "") || ($_POST['Neupreis'] != "" && $_POST['Waehrung'] == ""))
echo '<p>Bitte geben Sie Neupreis <span class="b">und</span> Währung ein!</p>';
else if ($_POST['Neupreis'] != "" && $_POST['Waehrung'] != "")
{
if (!is_numeric($_POST['Neupreis']) || $_POST['Neupreis'] <= 0)
echo '<p>Bitte geben Sie für den Neupreis einen Zahlenwert größer als 0 ein!</p>';
}
else if ($_POST['Breite'] != "")
{
if (!is_numeric($_POST['Breite']) || $_POST['Breite'] <= 0 || $_POST['Breite'] >= 500)
echo '<p>Bitte geben Sie für die Breite einen Zahlenwert zwischen 0 und 500 ein!</p>';
}
else if ($_POST['Hoehe'] != "")
{
if (!is_numeric($_POST['Hoehe']) || $_POST['Hoehe'] <= 0 || $_POST['Hoehe'] >= 500)
echo '<p>Bitte geben Sie für die Höhe einen Zahlenwert zwischen 0 und 500 ein!</p>';
}
else if ($_POST['Tiefe'] != "")
{
if (!is_numeric($_POST['Tiefe']) || $_POST['Tiefe'] <= 0 || $_POST['Tiefe'] >= 500)
echo '<p>Bitte geben Sie für die Tiefe einen Zahlenwert zwischen 0 und 500 ein!</p>';
}
else if ($_POST['Gewicht'] != "")
{
if (!is_numeric($_POST['Gewicht']) || $_POST['Gewicht'] <= 0 || $_POST['Gewicht'] >= 1000)
echo '<p>Bitte geben Sie für das Gewicht einen Zahlenwert zwischen 0 und 1000 ein!</p>';
}
else if ($_POST['Registerspeicher'] != "")
{
if (!is_numeric($_POST['Registerspeicher']) || $_POST['Registerspeicher'] < 0 || $_POST['Registerspeicher'] > 255)
echo '<p>Bitte geben Sie für die Anzahl der Registerspeicher einen Zahlenwert von 0 bis 255 ein!</p>';
}
else if ($_POST['Akkordspeicher'] != "")
{
if (!is_numeric($_POST['Akkordspeicher']) || $_POST['Akkordspeicher'] < 0 || $_POST['Akkordspeicher'] > 65535)
echo '<p>Bitte geben Sie für die Anzahl der Akkordspeicher einen Zahlenwert von 0 bis 65535 ein!</p>';
}
else if ($_POST['Schweller'] != "")
{
if (!is_numeric($_POST['Schweller']) || $_POST['Schweller'] < 0 || $_POST['Schweller'] > 9)
echo '<p>Bitte gegen Sie für die Anzahl der Schweller einen Zahlenwert von 0 bis 9 ein!</p>';
}
else if ($_POST['Gesamtleistung'] != "")
{
if (!is_numeric($_POST['Gesamtleistung']) || $_POST['Gesamtleistung'] <= 0 || $_POST['Gesamtleistung'] > 65535)
echo '<p>Bitte geben Sie für die Gesamtleistung einen Zahlenwert zwischen 0 und 65536 ein!</p>';
}
else $ok = true;
if ($ok == true)
return true;
else
return false;
}
soll true zurückgeben, falls keines der Fehler-Kriterien erfüllt ist.
Es wird aber, selbst wenn keine der Fehlerbedingungen erfüllt ist, immer false zurückgegeben! Warum?
Bis bald im Khyberspace!
Yadgar