Autor Zpráva
vojak.p
Profil
Zdravím, mam v databázi seznam uživatelů a k nim přidělenu IP a MAC adresu. Řadím dle IP adresy. Problém je, že ve formuláři jako vstupní pole když zadám <input type="text" size="10" name="192.168.1.1" value="obsah"> tak mi to nebere ty tečky. Je možné to zařídit nějak jinak, tím abych tam tu IP adresu mohl mít?
Děkuji
tiso
Profil
vojak.p:
name="192.168.1.1" value="obsah"
Nechcel si to napísať naopak?
vojak.p
Profil
Ne, mám to přesně takhle, potřebuju té IP adrese přiřadiť právě nějaký text, momentálně to mam tak, že si zjistim kolikátá je na seznamu a podle toho indexuju, což je nepraktický k dynamickým změnám. To tam ta tečka tak moc vadí?
Chro
Profil
Řešil bych to dvěma inputy.
<input type="hidden" name="ip" value="1.2.3.4">
<input type="text" name="obsah" value="text">
Hledě na to, že ve zpracovávajícím skriptu lze takto hodnoty z inputů snáze ověřovat, zda ip je opravdu platná a žádaná ip a obsah není třeba nebezpečný kód. Formulář si může upravit kdekdo a potencionálně nebezpečný obsah poslat i na tvůj skript.
vojak.p
Profil
Ano, nebo si na serveru uložit seznam IP, a k nim jednotlivé indexi - nebudu muset přenášet tolik dat. Protože takových to polí očekávám zhruba 100, časem možná více. Ale to se vždycky nechá udělat jinak, mě zajímá ten problém s tou tečkou, proč tomu tak je...
Alphard
Profil
Kde konkrétně vzniká problém?
Nikdy jsem podobné problémy neřešil, teď se snažím najít výčet povolených znaků, ale závisí to zřejmě na html/xhtml, možná i na metodě odeslání (get/post).
Ze zdrojů např. www.w3.org/html/wg/drafts/html/master/single-page.html#attr-fe-name nebo stackoverflow.com/questions/925994/what-characters-are-allowed-in-an-html-attribute-name.
Váš případ s IP je docela specifický, nehrozí tam záměna za jiné znaky, takže můžete snadno nejdříve převést tečky např. na podtržítka a pak provést zpětný převod. Je to jednoduché.
vojak.p
Profil
Ano, problém převodu je jednoduchý. Data získávám v php přes post, je možné, že taky bude chyba až tam, ale nevidím v tom důvod. Lze nějak zjistit seznam proměnných co získam při odeslání formuláře?
han5vk
Profil
var_dump($_POST) ?
vojak.p
Profil
Tak jsem na to již přišel. Pokud pojmenuju proměnou neco1.neco2.neco3, tak i stejně bude pojmenována ve zdrojáku, ale použiju-li get nebo post, obdržím neco1_neco2_neco3 - proč tomu taky je jsem nezjistil, ale aspoň jsem přišel na to kam se ztrácela.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0