Pozdrav drugari!
Opet sam se pravio pametan i spetljao sam jedan kod koji me nervira i ne znam zašto ne radi:
function http_clean($content, $option='default')
{
return trim((($option=='number') ? preg_replace("@([^0-9]\-_)@Ui", "", trim($content)) :
(($option=='word') ? preg_replace("@([^a-zA-Z\-_ ])@Ui", "", trim($content)) :
(($option=='text') ? preg_replace("@([^a-zA-Z0-9\+\-_()*!,.;\?#:'%/\" ]+)@Ui", "", trim($content)) :
(($option=='default') ? preg_replace("@([^a-zA-Z0-9\-_ ])@Ui", "", trim($content)) :
die("PHP ERROR: You must enter option into <em>http_clean($content, <strong>$option</strong>)</em>"))))));
}
/*************************************/
function GET($name, $option)
{
return isset($_GET[$name]) ? (!empty($_GET[$name]) ? http_clean($_GET[$name], $option) : NULL) : NULL;
}
Svrha ovog koda je da spreči druge bezvezne pozive i ubacivanja raznih javaskripta i HTML elemenata preko GET ili POST funkcije ali imam jedan problem.
Kada koristim funkciju na primer:
http_clean($_GET['id'], 'number');
Onda lepo radi, u stringu dozvoljava samo brojeve i znakove -_
Ali kada hoću da koristim funkciju koja je uprošćena verzija za pisanje GET funkcije:
GET('id', 'number');
-onda se jednostavno funkcija http_clean() poništava.
Zašto???
Inače funkcija http_clean() ima 4 opcije: number, word, text i default
|