Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Powrót do poprzedniej strony (np. w formularzu)
voytass
post 21.06.2003, 15:52:36
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 15.04.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,

Jak rozwiązać problem powrotu do poprzedniej strony w formularzu.
nadmienie, ze
Kod
history.back()
nie zawsze działa (nie wiem czemu - moze ktos mnie oswieci).
No wiec jak w prosty sposob zrobic powrót.
przykladem moze byc zle wypelniony formularz i prosba o poprawę.

oczywiscie caly formularz jest w php:
1. generowany jest formularz
2. po wyslaniu formularza sa sprawdzane wszystkie pola
3. przy blednym polu zwraca info o bledzie
4. przydaloby sie powrocic i poprawic
....

a z
Kod
history.back()
wyglada to tak, ze po kliknieciu na odnosnik 'powrot i popraw', w ktorym jest powyzszy JS nie nastepuje nic, tzn nadal pozostaje strona z infem o bledzie i odnosnikiem 'powrot i popraw' (wyglada to tak jakby ona sama byla historią).

moze ktos ma prosty pomysl na rozwiazanie 'powrot i popraw' jak i takze na wytlumaczeni dlaczego powyzszy JS nie dziala

pozdrawiam


--------------------
Wojtek@7; Wojtek@ogniwo.net; [Simple Forum - 100% - phpclasses.org]; MCP
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cudi
post 22.06.2003, 12:20:23
Post #2


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


Mam ten sam problem... i miałem nadzieje że już go rozwiązaliście a tu widze kiszka...

Robie stronke, prosty sposób, dołanczam do każdej stronki nagłówek, właściwy skrypt który ma sie wykonać no i potem stopke. Wygląda to tak:
[php:1:743103b82f]<?php
ob_start();

$pagetitle = 'Kontakt';
$headertitle = 'Formularz kontaktowy';

require('includes/header.php');
require('contact/contact.php');
require('includes/footer.php');

ob_end_flush();
?>[/php:1:743103b82f]
Napisałem formularz kontaktowy, wysyłam, sprawdzam dane, i jak coś jest nie tak wyświetlam komunikat i daje link powrotny zbudowany tak jak pokazaliście wyżej. Klikam na niego i widze dalej to samo, dopiero po odświeżeniu pokazuje sie spowrotem formularz. Może dam kodzik tego formularza:
[php:1:743103b82f]<?php
if(empty($_POST)){
?>
<FORM METHOD="post">
<TABLE CLASS="tab_form">
<TR>
<TD CLASS="td_desc">Temat listu: </TD>
<TD CLASS="td_input"><INPUT TYPE="TEXT" NAME="topic" SIZE="30"></TD>
</TR>
<TR>
<TD CLASS="td_desc">Treść wiadomości: </TD>
<TD CLASS="td_input"><TEXTAREA NAME="content" COLS="45" ROWS="15"></TEXTAREA></TD>
</TR>
<TR>
<TD CLASS="td_desc">&nbsp;</TD>
<TD CLASS="td_input"><INPUT TYPE="SUBMIT" VALUE="Wyślij" CLASS="button" onMouseOver="on_b(this);" onMouseOut="off_b(this);"> <INPUT TYPE="button" VALUE="Anuluj" CLASS="button" onClick="history.back();" onMouseOver="on_b(this);" onMouseOut="off_b(this);"></TD>
</TR>
</TABLE>
</FORM>
<?php
}
else{
require('contact/email.php');

$_POST['topic'] = stripslashes($_POST['topic']);
$_POST['content'] = stripslashes($_POST['content']);

if(smtp_mail('cudik@wp.pl', $_POST['topic'], $_POST['content'])){
echo 'Wiadomość została wysłana!';
}
else{
echo 'Wiadomość nie została wysłana! <A HREF="java script:history.back();">Popraw</A>';
}
}
?>[/php:1:743103b82f]

I naśmieszniejsze jest to że jak odpalam samą strone ze skryptem link powrotny działa, a jak odpalam ze strony w której dołanczam nagłówek i stopke to nie działa. Napoczątku myślałem że to wina ob_start(), ale usunołem i dalej to samo... Czyli pewnie coś mam nie tak w header.php, tylko nie zabardzo wiem czego szukać. Moge liczyć na jakąś podpowiedź ?


--------------------
"Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 17:44