![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Poszukuję odpowiedzi na nurtujące mnie pytanie. Otóż jest kilka formularzy, w których część jest includowana z innego pliku. Po wypelnieniu formularza i kliknieciu OK nastepuje "action" do innego pliku w ktorym jest sprawdzana poprawnosc wprowadzonych pól (select do bazy itp.). W wypadku kiedy pola nie są poprawne należy wykonać JS zawierający funkcję "history.back()" (zależy mi na otrzymaniu po powrocie wartości wprowadzonych do formularza). Wszystko bylo OK, do momentu kiedy nie wywalilem wspólnych elementów do rzeczonego includa. Zamiast formularza dostaję pustą stronę. Nie ma komunikatu o blędzie. Czy includowanie w jakiś sposób zaburza calość koncepcji ? A może ktoś się spotkal z podobnym problemem i udalo mu się go rozwiązać. Pozdrawiam -------------------- Jarek Marecik
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 9.02.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Można to zrobić bez JavaScriptu. Sprawdzasz czy pola zostały poprawnie wypełnione i jeżeli nie to includuje formularz. W formularzu każde pole powinno mieć wartość
[php:1:905361fbdf] <?php print("$nazwa_tego_pola") ?>[/php:1:905361fbdf] Całe pole powinno wyglądać tak: Kod <input TYPE="text" name="nazwa_pola" value="<?php print("$nazwa_tego_pola") ?>">
w ten sposób jezeli dane nie zostaną wprowadzone poprawnie zostanie zincludowny formularz i wartości podanych pól będą z powrotem w formularzu. -------------------- Warsztat: Apache 1.3.29 / PHP 4.3.4 / MySQL 3.23.58 / Winsyntax
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Można to zrobić bez JavaScriptu. [...]
Albo się nie zrozumielismy, albo ja nie rozumie odpowiedzi ![]() Action formularza wywoluje calkowicie inny plik. I w tym pliku sprawdzam wartości, po rzeczytaniu ich z tablicy $_REQUEST. Dlatego chcę się cofnąć w historii. Zapewne można by bylo to zrobić poprzez wywolanie header z odpowiednimi parametrami, ale wymaga to przeczytania dużej ilości pól i podstawienia ich spowrotem do formularza. Przy zalozeniu ze ten formularz na poczatku jest wypelniany polami pobranymi z bazy trzeba by tu dodatkowo postawić warunki. Problem polega na tym, dlaczego include powoduje takie zachowanie -------------------- Jarek Marecik
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 3.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Temat dawno założony, ale aby zostało dla potomności (bo sam sie właśnie borykałem z tym problemem).
taką sytuacje rozwiązują poprostu "dwa kroki wstecz", czyli history.go(-2) w JS |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 16.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Prosze oto gotowy sktypt, ktory posiada taka funkcja jaka chciales/as:
plik index.php czyli strona na ktorej jest includowany formularz Kod <BR><html><head><BR><title>Przyklad tego formularza</title><BR></head><body><BR><?php<BR>include("forumlarz.php"); #includuje formularz<BR> ?><BR></body><BR></html><BR> plik forumlarz.php czyli formularz ktory jest includowany Kod <BR><html><head><BR><title>Przyklad tego formularza</title><BR></head><body><BR><?php <BR>echo '<form action="sprawdz.php" method="post"><input type="text" name="nic" readonly="readonly" value="tekst" /> plik sprawdz.php czyli skrypt sprawdzajacy dobrze wpisano fomularz <input class="wyglad" type="text" name="pole1" value="'.$_POST['pole1'].'" /> <input type="submit" value=" Sprawdz " /></form>'; #powoduje wyswietlenie pola z tekstem ktory czeba przepisac, pola na wpisanie tekstu i przycisku, jesli chodzi o ten styl to to zostaw tak jak jest.<BR>?><BR></body><BR></html><BR> Kod <BR><html><head><BR><style><BR>.wyglad {<BR> border:solid;<BR> border: 3px;<BR> background-color: #FF9999;<BR> border-top-width: 3px;<BR> border-right-width: 3px;<BR> border-bottom-width: 3px;<BR> border-left-width: 3px;<BR> border-top-style: solid;<BR> border-right-style: solid;<BR> border-bottom-style: solid;<BR> border-left-style: solid;<BR>}<BR></style><BR><title>Przyklad tego formularza</title><BR></head><body><BR><?php <BR>if($_POST['pole1'] == 'tekst') #warunek czy dobrze przepisales tekst<BR>{<BR> echo "dobrze przepisales tekst";<BR>}<BR>else<BR>{<BR>echo 'zle przepisales tekst ';<BR>include("forumlarz.php"); #tutaj jest uzywany styl do pola "pole1", ten styl wyswietla to pole rózowe, z czerwona ramka<BR>}<BR>?><BR></body><BR></html><BR> Pryzklad dzialania Mam nadzieje ze wszystko jest zrozumiale, jak chcesz o cos pytac to pisz na mail: harmichal@gmal.com P.s ostatnio ludzie twierdza ze młodzesz tylko gra na komputerach, a ja chcałem powiedzec ze tak nie jest. Dowodem na to jestem np. ja (nie zebym sie chwalił ;>), mimo ze mam tylko 13lat to zrobilem ten skrypt. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 15:29 |