Witam.
Chciałbym się dowiedzieć jak można sprawdzić czy zmienna w PHP jest stringiem złożonym wyłącznie z liter alfabetu, ale z obsługą polskich znaków.
Po 3 lekcji kursu PHP na tej stronie postanowiłem rozbudować trochę formularz rejestracji o takie pozycje jak np. Imię, Nazwisko czy Miasto i tu pojawił się problem. Przy pisaniu walidacji chciałbym dodać ify odpowiedzialne za sprawdzenie czy wpisana przez użytkownika wartość jest poprawna. W kursie przy walidacji była mowa tylko o funkcji ctype_alnum(), w googlach odlalazłem więc potrzebną mi funkcję ctype_alpha(). Tyle że ona także nie przepuszcza polskich znaków, a w przypadku imienia czy nazwiska mało to profesjonalnie wygląda.
Kombinuje jak to naprawić i nie daje rady. Wygooglowałem jedynie funkcję setlocale(), ale nie działa lub nie potrafię jej używać.
Tak wygląda wycinek kodu odpowiedzialny za sprawdzenie imienia:
//Sprawdzenie czy imię zawiera wyłącznie litery alfabetu
setlocale( LC_CTYPE, 'PL_pl.UTF-8' );
if( ctype_alpha( $name ) == false ){
$ok = false;
$_SESSION[ 'name_error' ] =
'<tr rowspan = "2" class = "error">
<td colspan = "2">
Imię może zawierać wyłącznie
<br />
litery alfabetu
</td>
</tr>';
}