Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Variabel auf Zahl prüfen? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Variabel auf Zahl prüfen?


 
Tragon
06-03-2004, 15:47 
 
if (is_integer($USR)== 'True' and is_integer($PWD)=='True' ){balalab Code}

Ich möchte dass wenn $USR und $PWD eine Zahl ist der blabla code ausgeführt wird aber irgendwie geht das nicht was ist falsch?

 
Abraxax
06-03-2004, 15:54 
 
is_numeric()

 
Wurzel
06-03-2004, 15:54 
 
1. kann dir php auch 1 als true zurückliefern
2. prüfst du jetzt auf einen string nicht auf bool

probiers mals so:if (is_integer($USR)== TRUE and is_integer($PWD)==TRUE ){balalab Code}

// bzw:
if ((bool)is_integer($USR)== TRUE and (bool)is_integer($PWD)==TRUE ){balalab Code}
letzteres halte ich für besser/sicherer

 
Abraxax
06-03-2004, 15:56 
 
das is_integer() wird i.d.r. nciht klappen. wenn es eine benutzereingabe via <form> ist, ist es immer ein string. also funzt is_integer() nicht.. :p

 
Wurzel
06-03-2004, 16:07 
 
Original geschrieben von Abraxax
das is_integer() wird i.d.r. nciht klappen. wenn es eine benutzereingabe via <form> ist, ist es immer ein string. also funzt is_integer() nicht.. :p was weiss ich, wo er die vars herholt ... von $_POST seh ich da nix ... :p zurück ... ;)

 
Tragon
06-03-2004, 16:12 
 
Ist von nem Form
.Vielen Dank mal wieder an die Großen Götter des Boards die so lansam so gar Gedanken lesen können

 
Abraxax
06-03-2004, 16:23 
 
Original geschrieben von Wurzel
was weiss ich, wo er die vars herholt ... von $_POST seh ich da nix ... :p zurück ... ;) du musst auch zwischen den zeilen lesen.. :pIch möchte dass wenn $USR und $PWD eine Zahl ist -> da user und pass dort enthalten sind, macht es ja wenig sinn, diese nur aus der DB abzufragen und dann zu prüfen, womit auch immer ... :p also muss es eine user eingabe sein.. :D


Original geschrieben von Tragon
so gar Gedanken lesen können naja. war ja nicht schwer ... :p

 
wahsaga
06-03-2004, 17:50 
 
Original geschrieben von Abraxax
das is_integer() wird i.d.r. nciht klappen. wenn es eine benutzereingabe via <form> ist, ist es immer ein string. also funzt is_integer() nicht..
ich denke schon, dass PHP den type cast an dieser stelle hinbekommen dürfte.

 
Abraxax
06-03-2004, 18:11 
 
Original geschrieben von wahsaga
ich denke schon, dass PHP den type cast an dieser stelle hinbekommen dürfte. falsch gedacht ... :D

ich war nämlich auch mal davon ausgegangen bis ich mich gewundert hatte, warum eine prüfung nicht korrekt durchlaufen wurde. ;)

 
wahsaga
06-03-2004, 18:21 
 
Original geschrieben von Abraxax
falsch gedacht ... :D
stimmt, grade mal getestet - hast recht.

 
socket_shock
06-03-2004, 23:18 
 
Wie siehts denn mit

if(preg_match("/^([0-9]+)$/",$PWD))
{
//blah...
}

aus ?

 
Wurzel
07-03-2004, 13:00 
 
Original geschrieben von socket_shock
Wie siehts denn mit
if(preg_match("/^([0-9]+)$/",$PWD))
{ //blah...}aus ? es spielt zwar bei nem einmaligen aufruf kaum eine rolle, aber dein
preg_match() ist ca. 4x langsamer als is_numeric()


Original geschrieben von Abraxax
du musst auch zwischen den zeilen lesen.. :p
*püh* ... aber recht hast du ;)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:39 Uhr.