Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Formularz php i potwierdzenie
mattiluzak
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2014

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


Witam posiadam na swojej stronie formularz php ktory wysyla maila. Mam potwierdzenie wyslania maila lecz chcialbym aby potwierdzenie wyskakiwalo w osobnym okienku i nie po kliknieciu OK wysylalo automatycznie na strone glowna .. Hmm mam nadzieje ze rozumiecie o co mi chodzi

Tutaj skrypt.php:
  1. <?php
  2. if (count($_POST))
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'mojmail@gmail.com'; // Adres e-mail adresata
  6. $subject = 'mail'; // Temat listu
  7. $message = 'Pomyślnie wyslano wiadomosc. Powrot do strony głownej';
  8. echo "<a href=\"http://www.origami7.cba.pl\"ORIGAMI7</a>"; // Komunikat
  9.  
  10. ///header("Location: 21.php"); //przekierowanie lokalne
  11. ///header("Location: http://www.origami7.cba.pl"); //przekierowanie na adres zdalny
  12.  
  13.  
  14. $error = 'Wystąpił błąd podczas wysylania. Prosze sprobowac ponownie'; // Komunikat błędu
  15. $charset = 'iso-8859-2'; // Strona kodowa
  16. //////////////////////////////
  17. $head =
  18. "MIME-Version: 1.0\r\n" .
  19. "Content-Type: text/plain; charset=$charset\r\n" .
  20. "Content-Transfer-Encoding: 8bit";
  21. $body = '';
  22. foreach ($_POST as $name => $value)
  23. {
  24. if (is_array($value))
  25. {
  26. for ($i = 0; $i < count($value); $i++)
  27. {
  28. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  29. }
  30. }
  31. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  32. }
  33. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  34. }
  35. else
  36. {
  37. ?>
  38. <form action="?" method="post">
  39. Tutaj umieść wszystkie pola formularza
  40. </form>
  41. <?php
  42. }
  43. ?>

Staralem sie wklepac ten skrypt :
  1. echo "<script>alert('Mail został wysłany')</script>";

Lecz ciagle przekierowywalo mnie na pusta strone wraz z ramka
Prosze o pomoc
Powód edycji: [Kshyhoo]: dodałem tagi i bb-code
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przenoszę do Przedszkola. Proszę zapoznać się z zasadami panującymi na Forum
Go to the top of the page
+Quote Post
mattiluzak
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2014

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


odswiezam
Go to the top of the page
+Quote Post
com
post
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


chyba jednak nie rozumiemy (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
mattiluzak
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2014

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


Poprostu chodzi mi o to ze po pomyslnym wyslaniu maila zostaje wyswietlone okienko ze mail zostal wyslany, a jesli wystapi blad to wyskoczy osobne okienko ze wystapil blad podczas wysylania.

Aktualnie po wyslaniu przenosi mnie na pusta strone z napisem ze wiadomosc zostala wyslana lecz wyglada to niezbyt ladnie i wolal bym zeby wyskakiwalo okienko na stronie glownej po wyslaniu formularza
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Strona jest pusta może dlatego, że formularz nie jest widoczny po wysłaniu
Go to the top of the page
+Quote Post
com
post
Post #7





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Turson Naprawdę, to chyba autor wie, nie o to mu przecież chodziło (IMG:style_emoticons/default/wink.gif)
No to wykorzystaj np to https://jqueryui.com/dialog/
Go to the top of the page
+Quote Post
mattiluzak
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2014

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


Tylko teraz to chyba nalezy edytowac plik *html a nie sam skrypt*php nie wiem jak sie juz do tego zabrac bo nie wiem jak wykorzystac cos takiego probuje i głowkuje od dluzszego czasu i dalej nic..

Czy pomoze mi ktos podpiac takie okienko?

Ten post edytował mattiluzak 25.02.2014, 21:04:00
Go to the top of the page
+Quote Post
Luna_s20
post
Post #9





Grupa: Zarejestrowani
Postów: 60
Pomógł: 8
Dołączył: 7.01.2014

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


Zamiast tego swojego echa, o którym wspominasz na początku, a przed przekierowaniem na główną, wstaw sobie to:

  1. include "komunikat.html";
  2. header("Refresh:5; URL=główna.php");


Stwórz plik "komunikat.html" i do niego wrzuć

  1. <link rel="stylesheet" type="text/css" href="komunikat.css" />
  2.  
  3. <div id="pokaz_wiadomosc" class="wiadomosc">
  4. <div class="tresc">
  5.  
  6. Dziękujemy. Twój e-mail został wysłany poprawnie.<br/>
  7. Odpowiemy jak będzie nam się chciało<br/>
  8. i będziemy mieli czas<br/>
  9.  
  10. <a href = "java script:void(0)" onclick = "document.getElementById('zamknij_wiadomosc').style.display='none';document.getElementById('pokaz_wiadomosc').style.display='none'">Ok</a>
  11.  
  12. </div>
  13. </div>
  14. <div id="zamknij_wiadomosc" class="tlo">
  15. </div>

Oczywiście w środku możesz napisać coś mądrzejszego.

Następnie stworz sobie plik "komunikat.css" i w niego wklej:


  1. .tlo{
  2. position: absolute;
  3. top: 0%;
  4. left: 0%;
  5. background-color: black;
  6. opacity:.70;
  7. -moz-opacity: 0.7;
  8. filter: alpha(opacity=70);
  9. z-index:1001;
  10. width: 100%;
  11. height: 100%;}
  12.  
  13. .wiadomosc {
  14. position: absolute;
  15. top: 25%;
  16. left: 25%;
  17. width: 50%;
  18. height: auto;
  19. border: 4px solid #D27B2E;
  20. box-shadow: 1px 1px 33px #000000;
  21. z-index:1002;
  22. overflow: auto;
  23. }
  24.  
  25. .tresc{
  26. position: relative;
  27. margin: auto;
  28. padding: 16px;
  29. background-color: white;
  30. z-index:1002;
  31. overflow: auto;
  32. text-align: center;
  33. }


W efekcie zamiast przekierowania powinno pojawić się okienko w stylu lightboxa
z komunikatem, a po chwili przekierować na główna.php

A dziwo to wygląda tak:
(IMG:http://i.imgur.com/dFGVqPG.jpg)

Ten post edytował Luna_s20 26.02.2014, 13:16:34
Go to the top of the page
+Quote Post
mattiluzak
post
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2014

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


Wszystko zrobione, tak wyglada teraz plik ze skryptem.php

  1. <?php
  2. if (count($_POST))
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'mojmail@gmail.com'; // Adres e-mail adresata
  6. $subject = ' mail'; // Temat listu
  7. ///$message = '<center><font size="6"><b>Pomyślnie wyslano wiadomosc. Powrot do strony głownej</b></font></center>';
  8. ///echo "<a href=\"http://www.origami7.cba.pl\"ORIGAMI7</a>"; // Komunikat
  9. include "komunikat.html";
  10. header("Refresh:5; URL=główna.php");
  11. ///header("Location: 21.php"); //przekierowanie lokalne
  12. ///header("Location: http://www.origami7.cba.pl"); //przekierowanie na adres zdalny
  13.  
  14.  
  15. $error = 'Wystąpił błąd podczas wysylania. Prosze sprobowac ponownie'; // Komunikat błędu
  16. $charset = 'iso-8859-2'; // Strona kodowa
  17. //////////////////////////////
  18. $head =
  19. "MIME-Version: 1.0\r\n" .
  20. "Content-Type: text/plain; charset=$charset\r\n" .
  21. "Content-Transfer-Encoding: 8bit";
  22. $body = '';
  23. foreach ($_POST as $name => $value)
  24. {
  25. if (is_array($value))
  26. {
  27. for ($i = 0; $i < count($value); $i++)
  28. {
  29. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  30. }
  31. }
  32. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  33. }
  34. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  35. }
  36. else
  37. {
  38. ?>
  39. <form action="?" method="post">
  40. Tutaj umieść wszystkie pola formularza
  41. </form>
  42. <?php
  43. }
  44. ?>


Lecz ramka wyswietla sie na nowej stronie calej pustej czy nie mozna tego modyfikowac tak aby wyswietlala sie na stronie glownej ?
Oraz po kliknieciu "OK" skrypt przenosi mnie na główna.php gdy zmieniam te wartosc na index.thml nie dziala i nie kieruje mnie na strone glowna

Ten post edytował mattiluzak 26.02.2014, 14:16:23
Go to the top of the page
+Quote Post
Luna_s20
post
Post #11





Grupa: Zarejestrowani
Postów: 60
Pomógł: 8
Dołączył: 7.01.2014

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


Jak zmienisz główna.php na index.html to musi zadziałać. Skryptowi wszystko jedno - odczytuje i przenosi po prostu.
Jako że dzisiaj jest święto marnowania czasu, pecjalnie utworzyłam sobie według swojej instrukcji plik php, html i css i sprawdziłam to wszystko zanim odpowiedziałam.

  1. <?php
  2.  
  3. ?>
  4. <form action="?" method="post">
  5. Tutaj umieść wszystkie pola formularza
  6. </form>
  7. <?php
  8.  
  9.  
  10. if (count($_POST))
  11. {
  12. ////////// USTAWIENIA //////////
  13. $email = 'mojmail@gmail.com'; // Adres e-mail adresata
  14. $subject = ' mail'; // Temat listu
  15. ///$message = '<center><font size="6"><b>Pomyślnie wyslano wiadomosc. Powrot do strony głownej</b></font></center>';
  16. ///echo "<a href=\"http://www.origami7.cba.pl\"ORIGAMI7</a>"; // Komunikat
  17. include "komunikat.html";
  18. header("Refresh:5; URL=index.html");
  19. ///header("Location: 21.php"); //przekierowanie lokalne
  20. ///header("Location: http://www.origami7.cba.pl"); //przekierowanie na adres zdalny
  21.  
  22.  
  23. $error = 'Wystąpił błąd podczas wysylania. Prosze sprobowac ponownie'; // Komunikat błędu
  24. $charset = 'iso-8859-2'; // Strona kodowa
  25. //////////////////////////////
  26. $head =
  27. "MIME-Version: 1.0\r\n" .
  28. "Content-Type: text/plain; charset=$charset\r\n" .
  29. "Content-Transfer-Encoding: 8bit";
  30. $body = '';
  31. foreach ($_POST as $name => $value)
  32. {
  33. if (is_array($value))
  34. {
  35. for ($i = 0; $i < count($value); $i++)
  36. {
  37. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  38. }
  39. }
  40. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  41. }
  42. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  43. }
  44. else
  45. {
  46.  
  47. }
  48. ?>
  49.  


Działa (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/Lkingsmiley.png)

Ten post edytował Luna_s20 26.02.2014, 20:38:59
Go to the top of the page
+Quote Post
mattiluzak
post
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 25.02.2014

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


Niestety nie wiem jak to mozliwe ale skopiowalem caly skrypt jaki zamiescilas i po kliknieciu "OK" w okienku przekierowuje mnie na adres: "http://origami7.cba.pl/java%20script:void(0)" podejrzewam ze tu bedzie chyba cos nie tak z komunikat.html

EDIT: DODAm ze gdy nie klikne "OK" i odczekam 5 sec automatycznie przenosi mnie na strone glowna lecz gdy klikne i okienko zamknie sie przekierowuje mnie na wyzej podana strone mozesz jesli mozesz wejdz na strone moja i wyslij maila probnego, formularz znajduje sie po lewej stronie


EDIT2: ROZSZYFROWALEM. (IMG:style_emoticons/default/wink.gif)

W komunikat.html nalezy zmienic wartosc:
  1. <a href = "java script:void(0)" onclick = "document.getElementById('zamknij_wiadomosc').style.display='none';document.getElementById('pokaz_wiadomosc').style.display='none'">Ok</a>


na:

  1. <a href = "index.html" onclick = "document.getElementById('zamknij_wiadomosc').style.display='none';document.getElementById('pokaz_wiadomosc').style.display='none'">Ok</a>


Teraz dziala dizekuje wielkie za pomoc (IMG:style_emoticons/default/wink.gif)

Tylko ostatnie mam pytanie czy jesli mail nie zostanie wyslany wyswietli sie blad o takowym nie powodzeniu wyslania?
Rozumiem ze wyswietli sie juz nie w ramce ale chodiz mi o samo dzialanie skryptu zeby potwierdzil blad wyslania jesli sie nie powiedzie i jak moglbym sprawdzic to? jak wymusic niepoprawne wyslanie formularza zeby wymusic komunikat o bledzie. Moze troche chaotycznie to brzmi ale mysle ze wmiare zrozumiale

Ten post edytował mattiluzak 26.02.2014, 22:41:47
Go to the top of the page
+Quote Post
Turson
post
Post #13





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. if(mail(bla bla bla){
  2. //mail został wysłany
  3. }
  4. else{
  5. //wysyłanie nie powiodło się
  6. }
Go to the top of the page
+Quote Post
Luna_s20
post
Post #14





Grupa: Zarejestrowani
Postów: 60
Pomógł: 8
Dołączył: 7.01.2014

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


Jak chcesz, żeby błędy wyświetlało w ramce, to skopiuj sobie i przeedytuj ramkę z komunikat.html i podepnij w ten sam sposób w miejscu, w którym ma wyświetlać błąd.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 00:32