Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekierowanie po wysłaniu formularza [SwiftMailer]
nivels
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.06.2012

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


Witam,

Nie znam się na PHP. Udało mi sę ustawić formularz kontaktowy na stronie przy pomocy SwiftMailera. Jednak po wysłaniu maila chciałbym aby użytkownik został przekierowany do strony thank_you.html. Nie mam pojęcia jak to zrobić. Poniżej wklejam kod pliku php. Serdecznie proszę Was o pomoc smile.gif

  1.  
  2. <?php
  3.  
  4. include("Swift/lib/swift_required.php");
  5. $host = 'xxxxxx.xxxxxx@gmail.com';
  6. $password = 'xxxxx';
  7. $subject = "zapytanie ze strony";
  8. $body = "Zglaszajacy: ".$_POST["fullname"]."\r\n";
  9. $body .= "Telefon: ".$_POST["phone"]."\r\n";
  10. $body .= "E-mail: ".$_POST["email"]."\r\n";
  11. $body .= "Tresc: ".$_POST["description"]."\r\n";
  12.  
  13. $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
  14. ->setUsername($host)
  15. ->setPassword($password);
  16.  
  17. $mailer = Swift_Mailer::newInstance($transport);
  18.  
  19. $message = Swift_Message::newInstance($subject)
  20. ->setFrom(array($host => 'Klient'))
  21. ->setTo(array('xxxxxxx@xxxx.gmail.com'=> 'xxxxxx'))
  22. ->setBody($body);
  23.  
  24. $result = $mailer->send($message);
  25. if ($result) // to dodałem od siebie ale nadal po wysłaniu maila nic się nie dzieje
  26. {
  27. header("Location:http://xxxxx.org/thank_you.html");
  28. }
  29. echo $result;
  30.  
  31.  
  32. ?>
  33.  



Ten post edytował nivels 17.06.2012, 21:09:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


var_dump($result) zbadaj co zawiera gdy e-mail zostanie wysłany i zrób jakąś symulacje błędu aby też to obsłużyć.


--------------------
Go to the top of the page
+Quote Post
nivels
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.06.2012

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


już wiem w czym jest problem z moim skryptem.

Całkowicie ignorowane jest polecenie header. Gdziekolwiek w kodzie bym go nie umieścił i tak nie zostaje wykonany. Co mogę z tym zrobić?
Jest jakaś alternatywa dla polecenia header w celu przekierowania?
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

  1. header ( "Location: {<-SPACJA}{URL}" );
  2. /**
  3.  * A nie
  4.  */
  5. header ( "Location:http://xxxxx.org/thank_you.html" );


Ten post edytował rocktech.pl 18.06.2012, 11:22:44


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
nivels
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.06.2012

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


poprawiłem, nadal nic wink.gif

rozumiem że nie ma alternatywy dla "header"

może w kodzie html po wysłaniu formularza można jakoś zrobić przekierowanie?
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #6





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Jeżeli dalej nie masz przekierowania to oznacza tyle, że nagłówki zostały już wysłane, a ty nie masz włączonego raportowania błędów.

Daj tak.

  1. ini_set( "display_errors" ,1 );
  2. ini_set( "error_reporting", E_ALL);


A co do przekierowania w JavaScript zawsze możesz się posiłkować takim kodem:

  1. if ($result) {
  2. echo '

[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. window.location = "http://www.google.com/"
  3. </script>
[JAVASCRIPT] pobierz, plaintext

  1. '}


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
Adi32
post
Post #7





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Po header('...') należy dawać exit;
Nagłówek jest wypluwany dopiero jak parser PHP skończy pracę. Ale to raczej nie rozwiązuje problemu.


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
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 Aktualny czas: 20.08.2025 - 18:25