Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS][PHP]wyświetlanie informacji na bieżącej stronie
piotrino
post 10.12.2012, 06:04:55
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.12.2012

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


Witam wszystkich tu na forum. Jeśli temat, który stworzyłem nie pasuje do tego działu, to proszę o przeniesienie go. Stworzyłem stronę internetową, i w tym mam stronę z formularzem (wysyłanie maila bezpośrednio ze strony). Mój plik mail.php wygląda tak:
  1. <?php
  2. if (count($_POST))
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'siec2@gmail.com'; // Adres e-mail adresata
  6. $subject = 'temat'; // Temat listu
  7. $message = 'Dziękujemy za wysłanie formularza'; // Komunikat
  8. $error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
  9. $charset = 'utf-8'; // Strona kodowa
  10. //////////////////////////////
  11.  
  12. $head =
  13. "MIME-Version: 1.0\r\n" .
  14. "Content-Type: text/plain; charset=$charset\r\n" .
  15. "Content-Transfer-Encoding: 8bit";
  16. $body = '';
  17. foreach ($_POST as $name => $value)
  18. {
  19. if (is_array($value))
  20. {
  21. for ($i = 0; $i < count($value); $i++)
  22. {
  23. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  24. }
  25. }
  26. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  27. }
  28. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  29. }
  30. else
  31. {
  32. ?>
  33. <?php
  34. }
  35. ?>
Wszystko ładnie chodzi , tylko że jak ktoś wysyłam mi wiadomośc mailowa, to po wysłaniu wiadomości dostaję na odrębnej stronie komunikat: "'Dziękujemy za wysłanie formularza'". Jest ok, ale chciałbym zeby ten komunikat pojawiał się na bieżącej stronie (tzn. na stronie na której mam formularz mailowy) W jaki sposób to mogę zrobić najszybciej , bardzo prosiłbym o wskazówki ....Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
d3ut3r
post 10.12.2012, 06:46:11
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


  1. <?php
  2. if (count($_POST)) {
  3.  
  4. ////////// USTAWIENIA //////////
  5. $email = 'siec2@gmail.com'; // Adres e-mail adresata
  6. $subject = 'temat'; // Temat listu
  7. $charset = 'utf-8'; // Strona kodowa
  8. //////////////////////////////
  9.  
  10. $head =
  11. "MIME-Version: 1.0\r\n" .
  12. "Content-Type: text/plain; charset=$charset\r\n" .
  13. "Content-Transfer-Encoding: 8bit";
  14.  
  15. $body = '';
  16.  
  17. foreach ($_POST as $name => $value) {
  18. if (is_array($value)) {
  19. for ($i = 0; $i < count($value); $i++) {
  20. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  21. }
  22. }
  23. else
  24. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  25. }
  26.  
  27. if (mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head)) {
  28. $message = 'Wiadomość wysłana pomyślnie';
  29. } else {
  30. $error = 'Błąd wysyłania wiadomości';
  31. }
  32. }
  33. ?>
  34. <!---
  35. Tutaj treść html strony a w miejscu w którym ma wyświetlić się wynik wiadomości możesz dać kod:
  36. -->
  37. <?php
  38. if (isset($message)) {
  39. echo '<div class="info">' . $message . '</div>';
  40. } else if (isset($error)) {
  41. echo '<div class="error">' . $error. '</div>';
  42. }
  43. ?>
  44.  


Ten post edytował d3ut3r 10.12.2012, 06:47:24


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
piotrino
post 10.12.2012, 22:04:51
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.12.2012

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


Dzięki za pomoc. I tu mam jeszcze ostatnie pytanie. Mam dwa pliki mail.php i kontakt.html -gdzie mam formularze... W pliku kontakt.html mam:
  1. <form id="formularz" action="mail.php" method="post">
. I tu mam pytanie co dokładnie w miejsce , które zaznaczyłeś tzn:
  1. <!---
  2. Tutaj treść html strony a w miejscu w którym ma wyświetlić się wynik wiadomości możesz dać kod:
  3. -->

Czy pomiędzy tymi znacznikami mam dać zawartość całej strony htm tzn. kontakt.html?questionmark.gif , czy obojętnie jaką treść dotycząca wysłania formularza? Pozdrawiam
Go to the top of the page
+Quote Post
Adis92
post 10.12.2012, 23:25:28
Post #4





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

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


Plik kontakt.html przesyła dane z formularza do pliku mail.php, który wysyła wiadomość.
Ten kod, który dał Ci d3ut3r musisz wrzucić do pliku kontakt i zmienić jego rozszerzenie z .html na .php
a w miejscu w którym Ci zaznaczył
Cytat
<!---
Tutaj treść html strony a w miejscu w którym ma wyświetlić się wynik wiadomości możesz dać kod:
-->

wstawiasz to co wcześniej znajdowało się w pliku kontakt.html.
Pamiętaj aby zmienić wartość action="mail.php" na action="<?php echo $_SERVER['REQUEST_URI']; ?>"

Ten post edytował Adis92 10.12.2012, 23:33:16
Go to the top of the page
+Quote Post
piotrino
post 11.12.2012, 00:26:40
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.12.2012

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


Cytat(Adis92 @ 10.12.2012, 23:25:28 ) *
Plik kontakt.html przesyła dane z formularza do pliku mail.php, który wysyła wiadomość.
Ten kod, który dał Ci d3ut3r musisz wrzucić do pliku kontakt i zmienić jego rozszerzenie z .html na .php
a w miejscu w którym Ci zaznaczył

wstawiasz to co wcześniej znajdowało się w pliku kontakt.html.
Pamiętaj aby zmienić wartość action="mail.php" na action="<?php echo $_SERVER['REQUEST_URI']; ?>"

Dzięki, zrobiłem tak jak pisałeś, do pliku kontakt.html dodałem ten kod co podał d3ut3r i w miejsce w któym miałem zaznaczone wkleiłem całą zawartość pliku kontakt.html. Rozszerzenie ustawiłem na kontakt.php na stronach edytowałem linki z kontakt.html na kontakt.php. Po zapisaniu gdy klikam na kontakt na stronie pokazuje mi się cały plik kontakt.php. Podaję część pliku która mi się pojawia po kliknięciu w kontakt na stronie:
  1. <?php
  2. if (count($_POST)) {
  3.  
  4. ////////// USTAWIENIA //////////
  5. $email = 'siec2@gmail.com'; // Adres e-mail adresata
  6. $subject = 'temat'; // Temat listu
  7. $charset = 'utf-8'; // Strona kodowa
  8. //////////////////////////////
  9.  
  10. $head =
  11. "MIME-Version: 1.0\r\n" .
  12. "Content-Type: text/plain; charset=$charset\r\n" .
  13. "Content-Transfer-Encoding: 8bit";
  14.  
  15. $body = '';
  16.  
  17. foreach ($_POST as $name => $value) {
  18. if (is_array($value)) {
  19. for ($i = 0; $i < count($value); $i++) {
  20. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  21. }

A o to cały plik kontakt.php (we wszystkich linkach mam zmienione przekierowanie na ten plik kontakt.php
  1. <?php
  2. if (count($_POST)) {
  3.  
  4. ////////// USTAWIENIA //////////
  5. $email = 'siec2@gmail.com'; // Adres e-mail adresata
  6. $subject = 'temat'; // Temat listu
  7. $charset = 'utf-8'; // Strona kodowa
  8. //////////////////////////////
  9.  
  10. $head =
  11. "MIME-Version: 1.0\r\n" .
  12. "Content-Type: text/plain; charset=$charset\r\n" .
  13. "Content-Transfer-Encoding: 8bit";
  14.  
  15. $body = '';
  16.  
  17. foreach ($_POST as $name => $value) {
  18. if (is_array($value)) {
  19. for ($i = 0; $i < count($value); $i++) {
  20. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  21. }
  22. }
  23. else
  24. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  25. }
  26.  
  27. if (mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head)) {
  28. $message = 'Wiadomość wysłana pomyślnie';
  29. } else {
  30. $error = 'Błąd wysyłania wiadomości';
  31. }
  32. }
  33. ?>
  34. <!---
  35. <!doctype html>
  36. <html>
  37. <head>
  38. <meta charset="utf-8">
  39. <title>Formularz</title>
  40. <link href="style.css" rel="stylesheet" type="text/css">
  41. <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  42. <script type="text/javascript">
  43. google.load("jquery", "1.4.4");
  44. </script>
  45. <script src="js/jquery.validate/jquery.validate.js" type="text/javascript"></script>
  46. <script src="js/jquery.validate/messages_pl.js" type="text/javascript"></script>
  47. <script type="text/javascript">
  48. jQuery(document).ready(function(){
  49. jQuery("#formularz").validate();
  50. });
  51. </script>
  52.  
  53.  
  54. </head>
  55. <body>
  56.  
  57. <header>
  58. <h2 class="baner"><img src="baner.gif" class="baner" width="468" height="60" alt="baner"></h2>
  59.  
  60.  
  61.  
  62. </header>
  63. <nav>
  64. <div style="width:700px;height:150px;margin: 0 auto;">
  65. <div class="menu">
  66. <ul>
  67. <li> <a href="index.html"> STRONA GŁÓWNA </a> </li>
  68. <li> <a href="serwis.html">SERWIS STACJONARNY</a> </li>
  69. <li> <a href="uslugi.html">USŁUGI</a> </li>
  70. <li> <a href="cennik.html">CENNIK </a> </li>
  71. <li> <a href="kontakt.php">KONTAKT </a> </li>
  72. <li> <a href="mapa.html">MAPA DOJAZDU </a> </li>
  73.  
  74.  
  75. </ul>
  76.  
  77.  
  78. </div>
  79. </div>
  80.  
  81. </nav>
  82.  
  83. <div style="width:700px;height:150px;margin: 0 auto;">
  84. <section class="main">
  85. <div style="text-align:center;"><img src="email.jpg" width="250" height="166" alt="email"> </div>
  86. <h1 class="h1">Formularz kontaktowy:</h1>
  87. <p class="text">W celu skontaktowania się z nami można także uzupełnic poniższy formularz, skontaktujemy się z państwem najszybciej jak to będzie możliwe. </p>
  88.  
  89. <body>
  90.  
  91. <form id="formularz" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
  92. <fieldset>
  93. <legend>Formularz</legend>
  94. <label for="imie">Imię i nazwisko:</label>
  95. <div><input id="imie" name="imie" type="text" class="required" minlength="3"/></div>
  96. <div class="height_10"> </div>
  97.  
  98. <label for="email">Adres e-mail:</label>
  99. <div><input id="email" name="email" type="text" class="required email"/></div>
  100. <div class="height_10"> </div>
  101.  
  102. <label for="content">Treść wiadomości:</label>
  103. <div><textarea id="content" cols="20" name="content" rows="5" class="required" minlength="10"></textarea></div>
  104. <div class="height_10"> </div>
  105.  
  106. <input class="submit" type="submit" value="Wyślij"/>
  107. </fieldset>
  108. </form>
  109. <br/>
  110. <br/>
  111.  
  112. <div class="stopa">
  113.  
  114. <footer class="stopka"> Copyright Š 2012 All Rights Reserved by secomp.cba.pl </footer>
  115. </div>
  116.  
  117.  
  118.  
  119.  
  120.  
  121. </section>
  122.  
  123. </div>
  124.  
  125. </body>
  126. </html>
  127.  
  128.  
  129. -->
  130. <?php
  131. if (isset($message)) {
  132. echo '<div class="info">' . $message . '</div>';
  133. } else if (isset($error)) {
  134. echo '<div class="error">' . $error. '</div>';
  135. }
  136. ?>
  137.  
  138.  
Czy coś przeoczyłem? Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
d3ut3r
post 11.12.2012, 02:22:30
Post #6





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


to "<!---" i "-->" usuń, to jest komentarz więc przy takiej konstrukcji żaden html się nie wyświetli, a kod:

  1. <?php
  2. if (isset($message)) {
  3. echo '<div class="info">' . $message . '</div>';
  4. } else if (isset($error)) {
  5. echo '<div class="error">' . $error. '</div>';
  6. }
  7. ?>


nie koniecznie musi być na samym końcu, możesz go wstawić np poniżej <nav>. A i masz w dokumencie 2x <body>

Ten post edytował d3ut3r 11.12.2012, 02:22:59


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
piotrino
post 11.12.2012, 03:20:43
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 10.12.2012

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


Cytat(d3ut3r @ 11.12.2012, 02:22:30 ) *
to "<!---" i "-->" usuń, to jest komentarz więc przy takiej konstrukcji żaden html się nie wyświetli, a kod:

  1. <?php
  2. if (isset($message)) {
  3. echo '<div class="info">' . $message . '</div>';
  4. } else if (isset($error)) {
  5. echo '<div class="error">' . $error. '</div>';
  6. }
  7. ?>


nie koniecznie musi być na samym końcu, możesz go wstawić np poniżej <nav>. A i masz w dokumencie 2x <body>

Wielkie dzięki za pomoc. Wszystko teraz działa jak powinno. Co do "body" to nawet nie zauważyłem ze mam podwójne....Grunt że formularze działają tak jak powinno być...Wielkie dzięki
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: 27.04.2024 - 03:27