• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Abfrage funktioniert nicht

Timer

Mitglied
Hey,
ich habe gerade eine recht einfache PHP Abfrage (für ein Register) erstellt, das überprüft, ob beim Datum
  • der Tag zwischen 1 und 31 ist
  • der Monat zwischen 1 und 12 liegt
  • das Jahr später als 1900 ist
Ich habe das nun mehrere Male komplett neu geschrieben, jedoch kommt jedes mal, wenn ich z.B. 1.1.2000 eingebe, "false date". Woran liegt das?
PHP:
if($_POST['rDay']<1||$_POST['rDay']>31||$_POST['rMonth']<1||$_POST['rMonth']>12||$_POST['rYear']<1900) {
echo "false date";
}
else {
echo "true date";
}
 
Werbung:
Vieleicht solltest du deine Abfrage so ändern
Weiß nicht ob es hilft,aber ich wollte auch mal was kluges sagen

Ich habe von PHP keine ahnung . Aber müsste das nicht so sein

Code:
if($_POST['rDay']>=0||$_POST['rDay']<=30||$_POST['rMonth']>=0||$_POST['rMonth']<=11||$_POST['rYear']>=1900) {
echo "false date";
}
else {
echo "true date";
}
???? Ich weiss es aber nicht ,ich gehe von Javascript aus da währe es ungefähr so.
Wie ich das sehe fragst du ja ab ob die Datums nicht zwischen den Tagen ist .
Du fragst auch immer oder ab.Wenn alle abfragen stimmen sollen ,sollte man statt oder ( ||,OR ) und ( && ,AND) nehmen
 
Zuletzt bearbeitet:
PHP:
<?php
   if (isset($_POST['tag']))
   {
       if ($_POST['tag'] > 0 && $_POST['tag'] <= 31 &&
           $_POST['monat'] > 0 && $_POST['monat'] <= 12 &&
           $_POST['jahr'] >= 1900)
           $message = "Alles paletti";
       else
           $message = "Dumm gelaufen";
   }
?>
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8" />
    <title>Test</title>
  </head>
  <body>
<?php
if (isset($message)) echo "$message<br>\n";
?>
  <form action="" method="post">
  Tag:   <input type="text" name="tag"><br>
  Monat: <input type="text" name="monat"><br>
  Jahr:  <input type="text" name="jahr"><br>
  <input type="submit" name="submit" value="senden">
  </form>
  </body>
</html>
Ich habe von PHP keine ahnung
Wenn man keine Ahnung hat, ist das ja nicht schlimm, aber dann kann man auch einfach mal einen Thread verlassen, ohne was zu schreiben.
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
@m.scatello Sollten die Post-Variablen nicht erst per (int) davor zu integern gecastet werden? Hat zumindest bei meinen PHP-Schripten nur damit geklappt, weil String durch einen integer überprüfen zu lassen geht ja nicht.
Grüße,
Felixprogram
 
Werbung:
Werbung:
Zurück
Oben