[PHP] Niedziałająca prosta instrukcja warunkowa

if ((int)$g != $g) { echo ('Numer GG musi składać się z liczb.'); return FALSE; };

Nawet gdy wpiszę w polu numer GG liczby z literami to i tak nie pokazuje komunikatu.

$g='54645hk6456';

if(!is_numeric($g)){

	echo 'Numer GG musi składać się z liczb';

}

is_numeric nie nadaje się na numer GG, bo -34,56 też przepuści - http://pl2.php.net/manual/pl/function.is-numeric.php

Wg. mnie najlepiej użyć wyrażenia regularnego:

if ( ! preg_match('/^[0-9]+$/', $g)) {

   echo 'Numer GG musi składać się z liczb';

}

Ok, a czy taka instrukcja może istnieć czy muszę ją rozbić na kilka ?

if (mysql_nums_row(mysql_query("SELECT * FROM users WHERE l=$l")) >= 1) { echo 'Użytkownik o tym nicku lub mailu już istnieje.'; return FALSE; };

Ta instrukcja jest poprawna, lecz nazwy pól w sql podaje się w ``, a wartości w ‘’, poza tym po } nie stawia się średnika, a zmienna $l powinna być przerzucona przez addslashes() w celu zabezpieczenia skryptu.

if (mysql_nums_row(mysql_query("SELECT * FROM `users` WHERE `l`=$l")) >= 1) { echo 'Użytkownik o tym nicku lub mailu już istnieje.'; return FALSE; }

Instrukcja nie działa.

mysql_nums_row

a powinno być

mysql_num_rows