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
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] datentyp-ermitteln nach übergabe durch formular
Einklappen
Neue Werbung 2019
Einklappen
X
-
[Erledigt] datentyp-ermitteln nach übergabe durch formular
Stichworte: -
-
Ein Gast antworteteNee,
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
-
Ein Gast antworteteZitat von levKennst du aber deine Variablen und möchtest einfach sichergehen, daß eine ankommende Variable definitiv richtig konvertiert wird, reicht auch:
Code:$eingabe = (int)$eingabe;
Einen Kommentar schreiben:
-
Ein Gast antworteteOhje... 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 ;)"
Kennst du aber deine Variablen und möchtest einfach sichergehen, daß eine ankommende Variable definitiv richtig konvertiert wird, reicht auch:
Code:$eingabe = (int)$eingabe;
Einen Kommentar schreiben:
-
Ein Gast antwortetebesten Dank
,noi
Einen Kommentar schreiben:
-
Ein Gast antwortetewerte 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"; }
Einen Kommentar schreiben:
Einen Kommentar schreiben: