Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] datentyp-ermitteln nach übergabe durch formular

Einklappen

Neue Werbung 2019

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

  • [Erledigt] datentyp-ermitteln nach übergabe durch formular

    Hi,

    ich hab ein Formular, in welches text, zahlen und boolean werte enthalten sind.

    Wenn ich die übergebe -> und mit gettype auslese sind jedoch alle Felder vom typ string.

    kann mir jemand sagen, wie man das umgeht?
    (wollte eigentlich so etwas wie ein test, ob der eingebene Typ der gleiche ist wie der erwartete)

    danke,
    noi

  • #2
    werte aus einem formular sind immer vom typ string
    auf zahlen kannst du so überprüfen
    Code:
    if(ereg("^[0-9]+$",$eingabe)){
    echo "Zahl";
    } else {
    echo "kein Zahl";
    }

    Kommentar


    • #3
      besten Dank

      ,noi

      Kommentar


      • #4
        Ohje... immer diese Regular Expressions auf die kleinsten Sachen, die man auch leichter, schneller und v.a. sicherer lösen kann. Kein Wunder, daß die Welt voller Buffer Overflows ist...

        Guckst du hier, noi, das geht auch:

        Code:
        if ( (string)(int)$eingabe === $eingabe )
            print "Zahl";
        else
            print "nicht NUR Zahl ;)"
        Alternativ kann man da auch is_numeric() verwenden, um leichte Abweichungen zuzulassen.


        Kennst du aber deine Variablen und möchtest einfach sichergehen, daß eine ankommende Variable definitiv richtig konvertiert wird, reicht auch:

        Code:
        $eingabe = (int)$eingabe;

        Kommentar


        • #5
          Zitat von lev
          Kennst du aber deine Variablen und möchtest einfach sichergehen, daß eine ankommende Variable definitiv richtig konvertiert wird, reicht auch:

          Code:
          $eingabe = (int)$eingabe;
          variablen die über ein formular versand werden, wird er tippe ich fast nicht kennen...

          Kommentar


          • #6
            Nee,

            kenne ich wirklich nicht, also die Variablen

            versuche ja gerade den Typ zu ermitteln, um darauf reagieren zu koennen
            *sorry, aber die Umlaute gehen grad wieder nicht auf der sun-kiste*

            damit es dann nachher keine Probleme mit der Datenbank (PostgreS) gibt.
            Den DB-Teil hab ich ja schon aus den Systemtabellen rausgefrimelt
            (naja, zumindest fuer die wichtigsten Typen).

            Wollte PHP-seitig etwas universelles haben, damit ich nicht bei jedem Formularfeld, dass dazukommt erneut anfangen muss.

            ich denke ja bald, dass sich damit schonmal jemand beschaeftigt hat und so ne Art Typ-Tester schon existiert. Also so nach dem Motto: ich brauche diesen Typ -> teste mal, ob der eingegebenen Wert diesem Typ entspricht, sonst sag mir das mal an.

            prinzipiell reicht mir das aber schon, wobei ich eigentlich noch boolean typen abfangen wollte.

            Dort wird es aber schwierig, da natuerlich das Problem besteht, dass ein 't' ein char, ein string und ein boolean sein kann.

            aber egal, das ist durch Checkboxen abgefangen, da kann man ehh nix eingeben.

            mfg
            ,noi

            Kommentar

            Lädt...
            X