ForumCała strona

Nawigacja

Aktualnie online

Gości online: 8

Użytkowników online: 0

Łącznie użytkowników: 25,393
Najnowszy użytkownik: Assassin

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

JazOOn
06.12.2024 23:45:46
Amen

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Odmiana imion w formularzach
mjeanne
Witam,

Jestem początkującą w php więc prosiłabym o prostotę odpowiedzi jeżeli to możliwe ;).
Otóż próbuję napisać coś, co pewnie nurtuje nie jednego (nawet zaawansowanego) programistę.

Chciałabym bardzo, aby inteligenty formularz był w stanie odmieniać imię w wołaczu.

np. jeżeli osoba w formularzu , w polu " imie" napisała " Kasia", to chcę aby e-mail wysyłany przez f-cje mail() miał formę powitalną
"Droga Pani Kasiu!"

Myślę, że nie jest to bardzo trudne do zrealizowania tylko nie potrafię wybrać i użyć do tego odpowiedniej funkcji. :( w pliku php to miejsce gdzie ma byc nowa forma, oznaczyłam przez [?????]

Formularz już na pewno dobrze odróżnia czy e-mail ma mieć nagłówek "pan" czy "pani". Jednak nie potrafię już więcej tego przerobić.
Tu podaję bardzo uproszczoną wersję formularza (pole e-mail oraz imie) oraz php zajmujące się samym wysłaniem mail() i tym nagłówkiem.

Nie wiem jak to zrobić żeby utworzyć nową zmienną ze zmienioną końcówką ze strony informatycznej. Mogę natomiast wytłumaczyć od strony polonistycznej i udowodnić że to wcale nie takie trudne.

1. Podstawowy podział deklinacyjny
a) imiona żeńskie
b) imiona męskie

add a) jeżeli żeńskie imię ma końcówkę podaną niżej, wymieni się na
ba - bo
da - do
fa - fo
ła - ło
ma - mo
na - no
pa - po
ra - ro
sa - so
ta - to
wa - wo
za - zo
ga - go
cha - cho
ha -ho
ka - ko
rza - rzo
ża - żo
dża - dżo
cza - czo
ca - co
sza - szo
ia - io
ja - jo
ka - ko
cia - ciu
la - lu
nia - niu
sia - siu
dzia - dziu
zia - ziu

add b) jeżeli meskie imię ma końcówkę podaną niżej, wymieni się na
b - bie
d - dzie
f - fie
ł - le
m - mie
n - nie
p - pie
r - rze
s - sie
t - cie
w - wie
z - zie
g - gu
ch - chu
h - hu
ek - ku
k - ku
rz - rzu
ża - żu
dż - dż
cz - czu
niec - ńcze
rzec - rcze
piec - pcze
ec - cze
sz - szu
j - ju
ek - ku
k - ku
ć - ciu
l - lu
ń - niu
ś - siu
dź - dziu
ź - ziu

Można sobie popodstawiać imiona jeżeli nie wierzycie ;) np. Dagmara - Dagmaro,Piotr - Piotrze Władysław - Władysławie ...

Liczę na jakieś odpowiedzi :) Być może nie jest to rzecz bardzo ważna w formularzu ale na | pewno ciekawa i jeżeli idzie ją wykonać to dlaczego nie??
Formularz:
Pobierz kod źródłowy  Rozwiń Kod źródłowy HTML

strona wynikowa php + wysyłanie e-maila :result.php

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Wiadomość doklejona:
Dodam jeszcze że wydaje mi się, że przy tworzeniu nowych form, będzie potrzeba ta sama funkcja preg_match co przy wybieraniu czy mail ma być wysyłany do mężczyzny czy do kobiety, czyli

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Chociaż nie jestem pewna.

Mam nadzieję, że w miarę jasno wytłumaczyłam o co mi chodzi.
Edytowane przez Pieka dnia 15.04.2009 09:11:36
 
Wścibski Gość
Dodany dnia 23.12.2024 10:41:12
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
hoopak
Skoro chcesz tylko stworzyć formularz, to nie widzę związku z PF, chyba że się mylę?
Edytowane przez hoopak dnia 14.04.2009 14:36:47
 
www.hoopak.pl
mjeanne
Teoretycznie nie. Ale tak naprawdę takie coś też ma miejsce na portalach itp. Jeżeli się logujesz np. na NK (czy gdziekolwiek indziej) dostajesz z reguły komunikat "Witaj, [imie/nick]"

Trochę mnie drażni Komunikat "Witaj Maria!" ... Skoro mogłoby być "Witaj Mario". No i dlatego też sądzę, skoro (pewnie) idzie to zastosować np. na portalach, w których się używa php , to w formularzu do którego też używam php także mogłabym tego użyć w ten sam sposób
 
DJPromo
Myślę, że ten skrypt cie zadowoli dostosować pod siebie. Masz warunki w sumie większość napisanych wystarczy dopisać resztę

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

Edytowane przez DJPromo dnia 14.04.2009 16:18:17
Pomogłem Kliknij Pomógł
Życie to chwila zbyt krótka aby móc .... Życie to chwila / trzeba patrzeć i podziwiać Smiledjpromo6.jpg
 
kefirek
Można spróbować coś w ten desen

Robisz tablice z tym końcówkami i sprawdzasz dwie i trzy odstanie litery czy są w tablicy jak tak dodajesz tą wartość co jest w tablicy.

Napisałem taki prosty kod

Liczysz ile imię ma liter
Potem w pętli sprawdzasz czy końcówka imienia np. Kasia czyli
Końcówka sia jest w tablicy jeśli nie to pętla wykonuje się dale i sprawdza czy si jest w tablicy jak tak to dopisujesz końcówkę z tablicy do imienia czyli jak np. w tablicy istniej końcówka sia tak jak w tym przypadku to do Ka dołączasz siu z tablicy.
Poprawność działania trzeba sprawdzić na większej liczbie imion

Pobierz kod źródłowy  Rozwiń Kod źródłowy

Edytowane przez kefirek dnia 14.04.2009 16:19:33
 
mjeanne
@ DJPromo : wielkie dzięki za linka! szukałam jakiegoś gotowca i nic wcześniej nie znalazłam

@ Kefirek : też dziękuję za kod. Myślę że skorzystam jednak z tego gotowego, jeżeli rzeczywiście działa :)

Dobra, po paru dniach stwierdziam że sobie generalnie poradziłam i kod działa...
Jednak nie reaguje - nie widzieć czemu , gdy na końcu są imienia są litery "ń" "ś" "ź" "ł"

poniżej podaje troszkę edytowaną do moich potrzeb wersję formularza

Chodzi mi głównie o 14 pierwszych wersów pod switch($imie)

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

Może to jest wina serwera na którym trzymam pliki ?? Czy ktoś mółby sprawdzić, czy też mu nie reaguje ? np. z imieniem "Paweł" "Michał" "Staś" itp ? (ś, ł, ń, ź)

Wiadomość doklejona:
PS. Mam nadzieję, że nie nadużywam Waszej życzliwości :)
Edytowane przez mjeanne dnia 19.04.2009 16:04:40
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl