Autor Zpráva
senior
Profil
Pekný večer,
prosím o pomoc alebo aspoň nakopnutie ako overit prvé písmeno v inpute formulára či je velké? Po druhé ako zakázať písať do inputu formulára iné znaky ako písmena a číslice napr. &, +, § ...? Najlepší by bol asi PHP script, aby to fungovalo aj pri vypnutom JS. Ďakujem.
xmark
Profil
Vyber si, jestli to chceš ošetřit už během psaní (snad JS) nebo po odeslání (PHP)
WMPopi
Profil
senior:
v php:

na velké první písmeno funkce ucfirst(), např. $_POST["jmeno"] = ucfirst($_POST["jmeno"]);
odstraňování znaků bych řešil jejich uložením do pole, pole pomocí cyklu foreach projít a v něm str_replace();

$znaky = array("&", "+");
foreach ($znaky as $znak) {
  $_POST["jmeno"] = str_replace("$znak", "", $_POST["jmeno"]);
}


Určitě to jde elegantněji (tuším pomocí regulárních výrazů), ale jinak to neumím, třeba někdo napíše :-)
senior
Profil
xmark:
Vďaka za pomoc. JS nechcem použiť kvôli vypnutému JS.
WMPopi:
Vďaka za pomoc. Našiel som toto:
If(Preg_Match("~[abcde]~", $Test)) Echo "Nepovolený znak";
Bubák
Profil
senior:
JS nechcem použiť kvôli vypnutému JS.
Pokud použiješ na kontrolu jen PHP, tak se uživatel dozví, že chybně vyplnil formulář až po jeho odeslání. JavaScriptem můžeš zvýšit pohodlí uživatelů, je možné kontrolovat formulář už během jeho psaní. Tak jako tak, data musíš na serveru zkontrolovat.
senior
Profil
Bubák:
V tom máš pravdu. Môžem použiť PHP aj JS súčasne? Bolo by to konfortnejšie.
panther
Profil
senior:
Môžem použiť PHP aj JS súčasne?
samozřejmě. Tyto dvě technologie jsou na sobě nezávislé, každá se vykonává jindy - JS se může vykonat hned po odchodu z form. tlačítka např., PHP script se vykoná po odeslání formuláře.
WMPopi
Profil
senior:
Môžem použiť PHP aj JS súčasne?
Ano, doporučuju, osobně to tak dělám povětšinou. Nevyplněnost polí nejprve pomocí js, blbinky jako první písmena velká stačí převádět až v php..
senior
Profil
panther, WMPopi:
Vďaka za info. Idem to tak aj ja urobiť. Dám si poradiť od skúsených.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0