Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP/include i JavaScript/history.back();
JarekM
post 18.05.2004, 12:22:59
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
Go to the top of the page
+Quote Post
peterj
post 18.05.2004, 12:39:24
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
Go to the top of the page
+Quote Post
JarekM
post 18.05.2004, 13:29:50
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 smile.gif)

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
Go to the top of the page
+Quote Post
milist
post 3.04.2008, 09:31:51
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
Go to the top of the page
+Quote Post
mhmichalh
post 16.04.2009, 16:31:50
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" />
<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>
plik sprawdz.php czyli skrypt sprawdzajacy dobrze wpisano fomularz
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.
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: 7.07.2025 - 15:29