Autor Zpráva
soucekgns
Profil
Potřeboval bych, aby se hodnota pole odeslala jen v případě, pokud se v poli budou nacházet pouze znaky 0-9a-zA-Z.
Vytvořil jsem tento script, ale ten funguje pouze v případě, že ve slově jsou jenom nepovolené znaky (tj. slovo "dovolená" pustí dále)
if (preg_replace("~[^0-9a-zA-Z]~","" ,$_POST['directory'])){
kód odeslání
}
else {echo '<br>Používejte pouze znaky <strong>A-Z</strong>, <strong>a-z</strong>, <strong>0-9</strong>!';}

Díky za rady
Tori
Profil
if (preg_match("~[^0-9a-zA-Z]~",$_POST['directory']))

↓ Anebo prohodit bloky if a else, což jsem zřejmě myslela, ale nenapsala.
Majkl578
Profil
Tori:
V tom případě je nutné podmínku ještě znegovat:
if (!preg_match("~[^0-9a-zA-Z]~",$_POST['directory']))

Případně by to šlo napsat takto:
if (preg_match('~^[\da-z]+$~i', $_POST['directory'])) {
  //správně, uložit/odeslat
} else ...

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