Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> radio w formularzu
ralphralph
post 12.08.2003, 08:16:08
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ć smile.gif

Może ktoś miał podobny problem i rozwiązał go w inny sposób?
?>[/php]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
menic
post 12.08.2003, 09:51:04
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 :?


--------------------
Jak masz cos zrobic dobrze...
...To musisz zrobić to sam.

Uchwycić moment...
Go to the top of the page
+Quote Post
kurtz
post 12.08.2003, 10:01:36
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
[php:1:edfd049e9a]<input type=text name=napis value="
<?php echo "isset($_POST["name"])? $_POST["name"] : '' "; ?> ">[/php:1:edfd049e9a]
Niestety jesli chcesz pisac poprawnie pod php z E_ALL to niestety nie masz wyboru.
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
[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]
Znow niestety tak samo jak w powyzszym - sugeruje szablony. Na ten moment nie przychodzi mi lepszy pomysl odciezenia ciebie od nadmiernego pisania.


Pozdrawiam


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post
ralphralph
post 12.08.2003, 10:31:02
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ę. tongue.gif
Z tego wynika, że pozostaje mi tylko pisanie, pisanie, pisanie i... pisanie....
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 01:53