Ankündigung

Einklappen
Keine Ankündigung bisher.

checkdate Fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast antwortete
    Nein, das geht ja wohl auch nicht, wegen den Kommazahlen.

    Es gibt da schon noch eine Möglichkeit, das ganze rauszufinden. Das sind die Regex (Reguläre Ausdrücke).
    Ich bin aber nicht so der Profi in denen. (Besser gesagt, ich hasse das Thema. )
    Wenn du Zeit hast, kannst du ja das mal durchlesen:
    http://tut.php-q.net/regex.html

    Dann könnte man das Ganze mit der preg_match() - Funktion machen. Das sähe dann etwa so aus:
    (Dort wo jetzt REGEX steht, würde dann der richtige Regex kommen.)

    PHP-Code:
    <?php

        
    if(preg_match('REGEX'$var)) {
            echo 
    "Geklappt!";
        } else {
            echo
    "Nicht geklapt!";
        }

    ?>
    Aber wie gesagt, in diesem Thema bin ich nicht so der Hirsch. Tut mir leid.

    Gruss

    Stefan

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Bruchpilot
    Die Eingaben aus einem HTML Formular oder überhaupt alles, was per POST/GET/COOKIE ankommt, sind Zeichenketten. Da liefert is_int immer false
    PHP-Code:
    <?php
    echo is_int('2') ? 'is_int' '!is_int';
    ?>
    Nutzt also nicht viel an dieser Stelle.
    Hi,

    also doch is_numeric? oder gibts da noch was anderes?


    Viele Grüße

    Andreas

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von stimhof
    Ich denke, dass könnte klappen. Probiers mal aus!
    Mir fällt da zwar noch ein:

    PHP-Code:
    is_int() 
    Diese Funktion wäre eigentlich noch besser als is_numeric. Nehmen wir an, der Benutzer gibt eine Kommazahl ein. Dann gibt is_nummeric true aus und is_int false. Und wir wollen ja nicht, dass der Benutzer z.B. beim Monat 8.5 eingibt.

    Gruss

    Stefan
    Vielen Dank!

    Ich wünsch Dir noch nen schönen Abend...

    Viele Grüße

    Andreas

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Die Eingaben aus einem HTML Formular oder überhaupt alles, was per POST/GET/COOKIE ankommt, sind Zeichenketten. Da liefert is_int immer false
    PHP-Code:
    <?php
    echo is_int('2') ? 'is_int' '!is_int';
    ?>
    Nutzt also nicht viel an dieser Stelle.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich denke, dass könnte klappen. Probiers mal aus!
    Mir fällt da zwar noch ein:

    PHP-Code:
    is_int() 
    Diese Funktion wäre eigentlich noch besser als is_numeric. Nehmen wir an, der Benutzer gibt eine Kommazahl ein. Dann gibt is_nummeric true aus und is_int false. Und wir wollen ja nicht, dass der Benutzer z.B. beim Monat 8.5 eingibt.

    Gruss

    Stefan

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von stimhof
    Lösung:
    Überprüfe zuerst, ob es sich bei den Werten um Zahlen handelt und führe dann erst checkdate aus.
    Hi,

    daran hab ich auch schon gedacht...
    kannst Du mir sagen wie bzw. mit welcher Funktion ich das mache?
    so?
    PHP-Code:
    <?php
    if (is_numeric($var)){
          if (
    checkdate($var)){ ...

    ?>
    Viele Grüße

    Andreas

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich glaube, dass ist, weil die Funktion keine Strings akzeptiert.

    siehe Definition: http://php.benscom.com/manual/en/function.checkdate.php

    PHP-Code:
    bool checkdate int monthint dayint year 
    Das heisst, du kannst als Parameter nur int-Werte geben. Da "2e" aber ein String ist, wird das nicht klappen.

    Lösung:
    Überprüfe zuerst, ob es sich bei den Werten um Zahlen handelt und führe dann erst checkdate aus.

    Gruss

    Stefan

    Einen Kommentar schreiben:

Lädt...
X