Witam :) mam taki problem
nie wiem jak poprawnie wykonac walidacje formularza
dziala ona tylko dla 1 i ostatniego znaku i nie wiem dla czego :/
przerobiłem ten materiał ale to mi nie pomogło :(
http://4programmers.net/PHP/Wyrażenia_Regularne_(Regular_Expression)
np dla pola autor gdzie dozwolone maja byc litery od a do z i A do -Z oraz polskie znaki diakrytyczne wpiszę imie123a nie wyswietla błędu a powinno
o to kod :
cwiczenie.php
<form id="formularz" method ="POST" action="ind.php">
Isbn<br> <input type="text" name="isbn" value="1"/>
<br>
autor<br> <input type="text" name="autor" value="nieznany"/>
<br>
tytul<br> <input type="text" name="tytul" value="tytul"/>
<br>
cena<br> <input type="text" name="cena" value="20"/>
<br>
<br>
<input type="submit" value="OK" />
</form>
ind.php
function sprawdzaj()
{
if(strlen($_POST['isbn'])>13)
{
echo "Za dlugi isbn!";
return false;
}
if($_POST['isbn']=="")
{
echo "isbn jest pusty!";
return false;
}
if (strlen($_POST['autor'])>30)
{
echo "Za dlugie immie";
return false;
}
$czy_autor = '/[^a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ ]+$/'; // w tym miejscu nie wiem jak to zrobic dobrze
if (preg_match($czy_autor,$_POST['autor']))
{
echo "W imie tylko litery! preg 1";
return false;
}
return true;
}
sprawdzaj();
Z góry dziękuje za pomoc.