Hallo Tschuldigung das mich ein paar Tage nitcht gemeldet habe... hatte ein paar Problem mit meinem Internetzugang.
So jetzt haber zurück zum Thema:ich habe das Script etwas weiter entwickelt es sieht jetzt so aus:
- Code: Select all
<?php
setlocale(LC_ALL, "DEU");
$allesok = false;
if( isset($_POST['ueberpruefung']) ) {
$allesok = true;
}
if( $allesok ) {
$timestamp = mktime(0, 0, 0, $_POST['monat'], $_POST['tag'], $_POST['jahr']);
if(($POST_['tag']!='Tag')&&($_POST_['monat']!='Monat')&&($_POST['jahr']!='Jahr'))
{
if(checkdate($_POST['monat'],$_POST['tag'],$_POST['jahr']))
{
$timestamp = date('d.m.Y',$timestamp);
$ausgabe= $timestamp;
echo "Der $ausgabe ist ein gültiges Datum";
}
else
{
echo "Das Datum ist falsch";
}
}
else
{
echo "Sie müssen ein Datum auswählen";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Datum per Formular</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="ueberpruefung" value="1" />
<select name="tag">
<?php
echo'<option selected>Tag</option> ';
for( $i=1; $i<=31; $i++ ) {
if($_POST['tag'] == $i) {
echo '<option value="'.$i.'" selected>'.$i.'</option>';
}
else {
echo '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>
Tag
<select name="monat">
<?php
echo'<option value=""selected>Monat</option> ';
for( $i=1; $i<=12; $i++ ) {
if($_POST['monat'] == $i) {
echo '<option value="'.$i.'" selected>'.$i.'</option>';
}
else {
echo '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>
Monat
<select name="jahr">
<?php
echo'<option value=""selected>Jahr</option> ';
$aktuellesJahr = date('Y');
for($i=($aktuellesJahr - 110); $i<=$aktuellesJahr+1; $i++ ) {
if($_POST['jahr'] == $i) {
echo '<option value="'.$i.'" selected>'.$i.'</option>';
}
else {
echo '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>
Jahr
<br />
<input type="submit" name="Anmeldung" value="Absenden" />
</form>
</body>
</html>
Jetzt habe mit diesem Code ein kleines Problem wenn Jemand versehendlich Tag, Monat, Jahr abschickt, dann gibt der Parser zum einem zwei Warnungen aus und zum anderen spring in die Falsche Schleife. Konkred er sollte dann den Text ausgeben:"Sie müssen ein Datum auswählen", aber gibt aus:"Das Datum ist falsch"
Und jetzt habe ein paar Fragen dazu: 1. Wieso gibt er den falschen Text aus. 2. Soll ich die Warnungen unterdrücken mit den"@"Zeichen oder muß man dies ganz anders lösen? Wäre für jeden Vorschlag dankbar.
Gruß Aleks