Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Użycie setTimeout + location w php, nie dziala ???
Less
post 9.06.2007, 23:45:05
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 4.06.2007

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


Napisałem formularz i plik odbierający dane... ale chciałem, aby po pewnym czasie odwiedzający wrócił do poprzedniej strony, ponieważ PHP nie ma funkcji z opóźnionym czasem działania, chciałem wykorzystać JS, ale to poniższe rozwiązanie nie działa... Nie wiem dlaczego...


  1. <?php
  2.  
  3. $mailTo1 = 'ktos@gdzies.pl';
  4. $mailReferer = $_POST['Referer'];
  5. $mailSubject = $_POST['Temat'];
  6.  
  7. $mailBody = "E-mail od: n".$_POST['Imie']." ".$_POST['Nazwisko']."n"
  8. $mailBody += .$_POST['Email']."nn".$_POST['Uwagi'];
  9.  
  10. $mailHeaders = 'From: '.$POST_['Email']."rn";
  11. $mailHeaders += 'Replay-to: '.$POST_['Email']."rn";
  12.  
  13.  
  14. $wyslana = @mail($mailTo1, $mailSubject, $mailBody, $mailHeaders);
  15.  
  16. if($wyslana==true){
  17. print('<HTML><HEAD><script><!--n');
  18. print('function skok(){n');
  19. print('window.location="'.$mailReferer.'";n');
  20. print('}n');
  21. print('//--></script>n');
  22. print('</HEAD>n');
  23. print('<BODY ONLOAD="setTimeout('skok()',10000);">n');
  24. print('<CENTER>n');
  25. print('<p>Wiadomość wysłana poprawnie. Dziękujemy<br><br>n');
  26. //print('<span onClick="history.back();" style="cursor: hand; 
  27. //color: red;">powrót</span>n');
  28. print('</p></CENTER></BODY></HTML>');
  29.  
  30. }
  31. else{...}
  32.  
  33. ?>




Bardzo proszę o pomoc
Less


--------------------
Less
:)
Go to the top of the page
+Quote Post
domis86
post 9.06.2007, 23:51:08
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


po pierwsze:
nie rob tyle printow/echów na raz jak wyswietlasz tylko html
rob tak:

  1. <?
  2. ...........
  3. if ($wyslana)
  4. {
  5. ?>
  6.  
  7. <html>
  8. <head>
  9. <script>
  10. <!--
  11. function skok()
  12.  window.location="<? echo $mailReferer; ?>";
  13. }
  14. -->
  15.  </script>
  16. </head>
  17. <body>
  18. .....
  19. </body>
  20. </html>
  21.  
  22. <?
  23. }
  24. else
  25. {
  26. ....
  27. }
  28. ?>


tak jest duuuuuuuuuuuuzo proscie i duuuuuuuuuuuuuzo czytelniej aarambo.gif
Go to the top of the page
+Quote Post
Less
post 9.06.2007, 23:55:01
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 4.06.2007

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


OKi

ale chodzi o to, że w przypadku wysłania generuje się takie ciało strony, a w przypadku niepowodzenia - drugie...

Ten post edytował Less 9.06.2007, 23:55:26


--------------------
Less
:)
Go to the top of the page
+Quote Post
domis86
post 10.06.2007, 00:00:05
Post #4





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


dobra
ale stosuj zasade: php w html
a nie: html w php

a co do problemu z settimeout to w onload tagu body daj : zrob_skok()
zrob_skok() <- zrob taka funkcje tam gdzie masz skok() i wladuj do niej tego settimeouta i powinno dzialac
Go to the top of the page
+Quote Post
Less
post 10.06.2007, 00:16:43
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 4.06.2007

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


przepraszam... to nie ma nic do rzeczy... późno jest... ;-)

Wielkie dzięki... Działa !

guitar.gif


--------------------
Less
:)
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: 19.06.2025 - 22:20