Announcement

Collapse
No announcement yet.

is_numeric

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • is_numeric

    Hallo Leute, ich habe in meiner Eingabemaske ja das Problem gehabt das es wenn ich Buchstaben in ein Feld eingebe wo Zahlen rein sollen es zum MDB2 Error kommt, habe das mit is_numeric gelöst. Das ganze Funktioniert aber nun habe ich das Problem wenn ich das Feld leer lasse kommt es auch zu diesem Fehler jemand ne Ahnung wie ich das umgehen kann?

  • #2
    Wie schon gesagt -> richtige Eingabevalidierung vornehmen

    In deinem Falle eben nicht die Arbeit mit is_numeric, sondern prüfen

    - wie lang ist die Eingabe
    - welche Zeich sind drin

    Und dann entsprechende Fehler ausgeben
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Wie schon gesagt -> richtige Eingabevalidierung vornehmen

      In deinem Falle eben nicht die Arbeit mit is_numeric, sondern prüfen

      - wie lang ist die Eingabe
      - welche Zeich sind drin

      Und dann entsprechende Fehler ausgeben

      doofe frage aber kannst du mir mal die funktionen dafür nennen?

      Comment


      • #4
        1. strlen($deine_Variable)
        2. regulärer Ausdruck
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          1. strlen($deine_Variable)
          2. regulärer Ausdruck
          wie kann ich denn php sagen das die ziffern 0-9 gültig sind?

          Comment


          • #6
            Ich glaube, dass Du auch einfacher an dein Ziel kommen könntest. Wenn ich dich richtig verstehe, dann erwartest Du von dem Feld, dass es nur Ziffern erhalten darf. Wenn es leer ist, dann soll der Wert was sein...? 0?

            Wenn dem so ist, dann könnte dir das (in etwa) weiterhelfen:

            PHP Code:
            $deine_Variable = isset($_POST['formularfeld']) ? intval($_POST['formularfeld']) : 0
            Was macht diese Zeile?
            Sie überprüft das vom Formular übergebene Feld und schreibt den Wert in $deine_Variable. Ist es leer, wird der Wert automatisch auf "0" festgesetzt - es dürfte also keine Fehler mehr geben.

            Comment


            • #7
              [QUOTE=Thomas Wiesseckel;189044]QUOTE]


              Hey, danke für die leichte Möglichkeit das zu lösen *gg*

              Kann ich denn jetzt noch irgendwie sagen wenn man wirklich Buchstaben in das Feld gibt das eine Meldung kommt das der Wert auf 0 gesetzt wurde?

              Comment


              • #8
                Ja, aber dafür hat dir Christian schon den richtigen Ansatzpunkt gegeben:
                Überprüfe mit regulären Ausdrücken, ob in dem vom Formular übergebenen Feld Werte vorkommen, die nicht numerisch sind - ist dem so: entsprechende Meldung.

                Darüber hinaus kannst Du auch prüfen, ob $_POST['formularfeld'] leer ist und dazu eine entsprechende Meldung ausgeben.


                Allerdings sollte dein Formular bereits so aufgebaut sein, dass User gar nicht mehr auf die Idee kommen, ungültige Werte einzugeben (weil sie nicht wissen, was Du von ihnen möchtest - mutwillige Falschausgaben musst Du natürlich dennoch abfangen können).

                Comment


                • #9
                  Verstehe nicht, was daran so schlimm ist eine saubere Validierung zu machen.....
                  Christian

                  Comment


                  • #10
                    Daran ist gar nichts schlimm - nur ist es in diesem Fall einfach zu viel des Guten

                    Comment

                    Working...
                    X