![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pewien problemik. Piszę formularz, w którym znajduje się kilka pól radio, text, itp. Wartości z formularza przekazywane są za pomocą metody POST. Jak dotąd wszystko jest ok. ALE w momencie, gdy ktoś wpisze błędne dane w polu text ma się wyświetlać informacja o błędnym wpisaniu danych i ma się pokazać ten sam formularz z danymi, które zostały wpisane poprzednio. I tu rodzi się pytanie :?: Czy istnieje jakaś funkcja, która działa w ten sposób, że po odebraniu wartości zmiennej z $_POST["xxx"] od razu umieszcza ją w formularzu w polu o takiej samej nazwie "xxx" :?: Jak dotąd jedynym pomysłem jaki mi przychodzi do głowy to zapis w postaci [php:1:57e6c02d27]<input type=text name=napis value=" <?php echo "isset($_POST["name"])? $_POST["name"] : '' "; ?> ">[/php:1:57e6c02d27] To dotyczy pól tekstowych ale sprawa się skomplikuje jeśli trzeba zająć się typem radio. Jak na razie mam pomysł żeby napisać funkcję porównującą wartość pola radio z tym co znajduje się w zmiennej $_POST. Może wyglądać to tak [php:1:57e6c02d27]<?php function sprawdz($nazwa, $wartosc) { if (!isset($_POST[$nazwa]) { if ($_POST[$nazwa]==$wartosc) {return "checked";} else {return "";} }else {return "";} } ; ?>[/php:1:57e6c02d27] Wynik tej funkcji trzebaby później wstawić w ten sposób: [php:1:57e6c02d27] <input type=radio name=cos value=wart <?php echo" sprawdz(cos, wart)"; ?> > [/php:1:57e6c02d27] Tylko, że takich pól jest duuużooo i trzeba będzie się trochę pobawić ![]() Może ktoś miał podobny problem i rozwiązał go w inny sposób? ?>[/php] |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Co do zwykłych input, textarea to robię praktycznie to samo. Ale również nie moge znaleźć sposobu jak ładnie zrobic to samo z inymi polami jak select lub radio :?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej
Cytat Jak dotąd jedynym pomysłem jaki mi przychodzi do głowy to zapis w postaci
Niestety jesli chcesz pisac poprawnie pod php z E_ALL to niestety nie masz wyboru.
[php:1:edfd049e9a]<input type=text name=napis value=" <?php echo "isset($_POST["name"])? $_POST["name"] : '' "; ?> ">[/php:1:edfd049e9a] Alternatywa jest podobnie jak nizej stowrzneie funkcji (ktora bedize robila to samo to powyzsza linijka). Najwygodniej jest wykorzystac jednak szablony ktore czesto wlasnie ultwiaja zadanie - np Kod <input type="text" name="imie" value='{$smarty.post.imie|default:"Podaj imie}' /> stworzy pole z domylna wartoscia "Podaj imie". Gdy zostanie przeslana inna wpisze ja w pole formularza. Przyklad podałem dla Smarty.
Cytat To dotyczy pól tekstowych ale sprawa się skomplikuje jeśli trzeba zająć się typem radio. Jak na razie mam pomysł żeby napisać funkcję porównującą wartość pola radio z tym co znajduje się w zmiennej $_POST. Może wyglądać to tak
Znow niestety tak samo jak w powyzszym - sugeruje szablony. Na ten moment nie przychodzi mi lepszy pomysl odciezenia ciebie od nadmiernego pisania.
[php:1:edfd049e9a]<?php function sprawdz($nazwa, $wartosc) { if (!isset($_POST[$nazwa]) { if ($_POST[$nazwa]==$wartosc) {return "checked";} else {return "";} }else {return "";} } ; ?>[/php:1:edfd049e9a] Wynik tej funkcji trzebaby później wstawić w ten sposób: [php:1:edfd049e9a] <input type=radio name=cos value=wart <?php echo" sprawdz(cos, wart)"; ?> > [/php:1:edfd049e9a] Tylko, że takich pól jest duuużooo i trzeba będzie się trochę pobawić :) Może ktoś miał podobny problem i rozwiązał go w inny sposób? ?>[/php] Pozdrawiam -------------------- .. make web your home ..
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 11.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cóż mogę powiedzieć. Z szablonami to dopiero mam zamiar rozpocząć swoją zabawę.
![]() Z tego wynika, że pozostaje mi tylko pisanie, pisanie, pisanie i... pisanie.... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 01:53 |