Autor Zpráva
Mikeses
Profil
mam stranku, kde mam reg. uzivatele atd. link vypada nejak takto ' ?menu=profil&id=1 ' ale kdyz dame '?menu=profil&id=+1' db nehodi error, na strance se vyskytnou chyby ktere lze vyuzit, zkusil jsem !is_numeric strpos is_int, ae zadna funkce nezabranila pouzivani + . PLS HELP
mckay
Profil
Mikeses:
Není mi z toho popisu zcela jasné o co jde, ale řešil bych to tak, že datům z $_GET nebezpečné symboly(+,-) odstraním pomocí str_replace();
Mikeses
Profil
str_replace sem zkousel, beze zmeny, symbol - sem odstranil ae + zustava .
Radek9
Profil
Mikeses:
To proto, že PHP příjme + z adresy jako mezeru.
Mikeses
Profil
aha, a jak se to da vyresit ?
Radek9
Profil
Mikeses:
Odstranit mezeru?
Mikeses
Profil
ano, jde udfelat ze odstranime '?menu=profil&id= (tuto mezeru) 1' ?
Jan Tvrdík
Profil
Mikeses:
$id = (int) trim($_GET['id']);
Mikeses
Profil
to nepomaha
Majkl578
Profil
Toto ověří, že klíč id v _GET existuje a je číselná hodnota.
if (empty($_GET['id']) || !preg_match('~^[0-9]+$~', $_GET['id'])) {
  throw new LogicException('Invalid id given');
}


Popřípadě toto odstraní všechny nečíselné znaky:
$id = preg_replace('~[^0-9]*~', '', $_GET['id']);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0