Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [wolontariat]Formularz kontaktowy
Mysik
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Witam.

Szukam DZIAŁAJĄCEGO skryptu (kodu) formularza kontaktowego... Ma być prosty, wysyłać maile na konta wp/o2/gmail. Najlepiej z komentarzami w środku, żeby wyjaśniał konfigurację itp...
Może nawet ktoś szybciutko napisze taki kod? Bo na forum PHP to pewnie mądrzy ludzie są smile.gif

Od razu zaznaczę, że jestem ABSOLUTNIE zielony jeśli chodzi o PHP... HTML znam, ale nie wiem co tam się wkleja z php i gdzie...
Jest obojętne czy będzie korzystał z zewnętrznego pliku php (jeśli tak - JAK ZROBIĆ ODNOŚNIK DO NIEGO questionmark.gif?) czy będzie wewnętrznym kawałkiem kodu...
Nie potrzebuję udziwnień w stylu captchy,
Powód edycji: [Cysiaczek]: dodałem tag
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
raxon
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 30.06.2009

Ostrzeżenie: (10%)
X----


  1. <?php
  2. // sprawdzamy, czy zmienna $submit jest pusta
  3. if (empty($_POST['submit'])) {
  4. // wyświetlamy formularz
  5. echo "<table border=\"0\"><form method=\"post\">
  6. <tr>
  7. <td>Treść wiadomości</td>
  8. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  9. </tr>
  10. <tr>
  11. <td>Imię, nazwisko lub nick</td>
  12. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  13. </tr>
  14. <tr>
  15. <td>Adres e-mail</td>
  16. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  17. </tr>
  18. <tr>
  19. <td>&nbsp;</td>
  20. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  21. <input type=\"reset\" value=\"Od nowa\"></td></form>
  22. </tr>
  23. </table>";
  24. }
  25. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  26. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  27. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  28. // zmienna $message zawiera treść wiadomości
  29. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  30. // zmienna $header zawiera przede wszystkim adres zwrotny
  31. $header = "From: $_POST[imie] <$_POST[email]>";
  32. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  33. @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")
  34. or die('Nie udało się wysłać wiadomości');
  35. // wyświetlenie komunikatu w przypadku powodzenia
  36. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  37. }
  38. // lub w przypadku nie wypełnienia formularza do końca
  39. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  40.  
  41. ?>


Zadowolony?
Go to the top of the page
+Quote Post
motyl-pl
post
Post #3





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


Tylko oddziel sobie html od php'a.


--------------------
Go to the top of the page
+Quote Post
Mysik
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Cytat(motyl-pl @ 22.06.2010, 21:46:46 ) *
Tylko oddziel sobie html od php'a.


No właśnie... to się wkleja całe do pliku "xxx.html"?questionmark.gif Czy coś do pliku html, coś do zewnętrznego php??
Nie mam pojęcia jak to umieścić sad.gif To pewnie proste jak drut, ale php to dla mnie magia...

Odświeżam... czy ktoś mi pomoże??

HELP
Go to the top of the page
+Quote Post
webmaniak
post
Post #5





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Nie można umieścić kodu php w pliku xxx.html. Jeśli chcesz to mieć w jednym pliku to stwórz xxx.php. Jeśli ma być w dwóch plikach to w pliku html umieszczasz wszystko co dotyczy html-a czyli te tabele i pola input, textarea, itd. a w pliku php obsługa tego formularza. Tylko nie wiem po co sobie komplikować życie dzieląc to na dwa pliki skoro jesteś zielony z php. Zostaw to w jednym pliku z rozszerzeniem php oczywiście.

Ten post edytował webmaniak 30.06.2010, 08:45:36


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
Mysik
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Ale lepiej byłoby mi to mieć w 2 różnych plikach... tylko nie wiem jak potem zrobić odwołanie do php...
I nie wiem które części wyciąć, a które zostawić...
Go to the top of the page
+Quote Post
webmaniak
post
Post #7





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Ok. Postaram się pomóc, choć nie jestem ekspertem, więc mogą być błędy.
  1. <table border="0"><form method="post" action="obsluga.php">
  2. <tr>
  3. <td>Treść wiadomości</td>
  4. <td><textarea name="tresc" style="width: 250px; height: 100px"></textarea></td>
  5. </tr>
  6. <tr>
  7. <td>Imię, nazwisko lub nick</td>
  8. <td><input type="text" name="imie" style="width: 250px"></td>
  9. </tr>
  10. <tr>
  11. <td>Adres e-mail</td>
  12. <td><input type="text" name="email" style="width: 250px"></td>
  13. </tr>
  14. <tr>
  15. <td>&nbsp;</td>
  16. <td><input type="submit" name="submit" value="Wyślij">&nbsp;
  17. <input type="reset" value="Od nowa"></td></form>
  18. </tr>


Spójrz na pierwszą linijkę. Tam masz takie coś jak action. To jest odwołanie do php. Nazwa pliku może być dowolna. Ja dałem obsługa.

Natomiast plik obsluga.php powinien wygladac tak:
  1. <?php
  2.  
  3. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  4. if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  5. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  6. // zmienna $message zawiera treść wiadomości
  7. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  8. // zmienna $header zawiera przede wszystkim adres zwrotny
  9. $header = "From: $_POST[imie] <$_POST[email]>";
  10. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  11. @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")
  12. or die('Nie udało się wysłać wiadomości');
  13. // wyświetlenie komunikatu w przypadku powodzenia
  14. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  15. }
  16. // lub w przypadku nie wypełnienia formularza do końca
  17. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  18.  
  19. ?>


Według mnie to powinno działać, ale trzeba sprawdzić.


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
Mysik
post
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Coś nie działa sad.gif
Go to the top of the page
+Quote Post
Mefiuu
post
Post #9





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Mysik ale co Ci nie działa?

Nie wiem, Webmaniak czy dobrze poprawiam ale chyba powinny tam być jeszcze apostrofy winksmiley.jpg :

Cytat(webmaniak @ 1.07.2010, 11:24:46 ) *
  1. <?php
  2.  
  3. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  4. if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  5. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  6. // zmienna $message zawiera treść wiadomości
  7. $message = "Treść wiadomości:\n$_POST['tresc']\nWysłał: $_POST['imie']\ne-mail: $_POST['email']";
  8. // zmienna $header zawiera przede wszystkim adres zwrotny
  9. $header = "From: $_POST['imie'] <$_POST['email']>";
  10. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  11. @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")
  12. or die('Nie udało się wysłać wiadomości');
  13. // wyświetlenie komunikatu w przypadku powodzenia
  14. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  15. }
  16. // lub w przypadku nie wypełnienia formularza do końca
  17. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  18.  
  19. ?>

Też nie ręczę że działa winksmiley.jpg
Go to the top of the page
+Quote Post
Mysik
post
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Cytat(Mefiuu @ 2.07.2010, 11:43:39 ) *
Mysik ale co Ci nie działa?


Mail nie dociera na mail z WP...
Go to the top of the page
+Quote Post
webmaniak
post
Post #11





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Rzeczywiście brakuje apostrofów, jednak ja przekopiowałem ten kod z drugiego postu ufając, że jest poprawny. W takim razie ten formularz, bez dzielenia go na dwa pliki również jest zły. Mysik spróbuj utworzyć plik formularz.php, wklej do niego kod z drugiego postu i zobacz czy działa. Może tam jest jakiś błąd. Jeśli nie to spróbuj użyć tą wersję od Mefiuu.


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
Mysik
post
Post #12





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Cytat(webmaniak @ 2.07.2010, 15:20:59 ) *
Rzeczywiście brakuje apostrofów, jednak ja przekopiowałem ten kod z drugiego postu ufając, że jest poprawny. W takim razie ten formularz, bez dzielenia go na dwa pliki również jest zły. Mysik spróbuj utworzyć plik formularz.php, wklej do niego kod z drugiego postu i zobacz czy działa. Może tam jest jakiś błąd. Jeśli nie to spróbuj użyć tą wersję od Mefiuu.


Niestety nie działa... myślałem, że może nie dochodzi na pocztę WP, ale problem wystepuje i na WP i na o2 i na gmailu....sad.gif
Go to the top of the page
+Quote Post
darophp
post
Post #13





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


- http://plugins.jquery.com/project/formvalidator
- http://plugins.jquery.com/project/ajaxContactForm (jest fajny)


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
Mysik
post
Post #14





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


A jakiś polski?questionmark.gif
Albo lepiej - poprawa tego co było tam źle w tym php?
Go to the top of the page
+Quote Post
webmaniak
post
Post #15





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Tylko że ten skrypt działa. Skopiowałem go teraz i przetestowałem, zmieniłem oczywiście mail na mój własny w o2 i wiadomość dostarczono.

Ten post edytował webmaniak 12.07.2010, 14:54:37


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
gorden
post
Post #16





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


w dwóch plikach, prosty

index.htm (lub inny, gdzie będzie formularz)
  1. <form action="wyslij.php" method="post"> <!-- rozpoczecie formularza, wybieranie pliku i metody -->
  2. Temat kontaktu:<input type="text" name="temat"><br> <!-- input do tematu wiadomosci -->
  3. Treść:<textarea name="tresc" cols="40" rows="15"></textarea><br> <!-- textarea tresc - cols=szerokosc rows=wysokosc -->
  4. <input type="submit" value="Wyślij"> <input type="reset" value="Resetuj"> <!-- input do wyslania wiadomosci i do restartu formularza -->
  5. </form> <!-- zakonczenie formularza -->


wyslij.php
  1. <?
  2. $temat = $_POST['temat']; //pobranie zmiennych z formularza
  3. $tresc = $_POST['tresc']; //j/w
  4. if(empty($temat)) {
  5. echo"Nie wpisałeś tematu!"; exit; } //warunek, jezeli temat jest pusty, wyswietli ten tekst i nic wiecej
  6. if(empty($tresc)) {
  7. echo"Nie wpisaleś treści!"; exit; } //j/w
  8. //jezeli beda wypelnione pola, skrypt wykona reszte kodu
  9.  
  10. $email=
  11. "Otrzymano wiadomość z formularza kontaktowego, oto ona:
  12. $tresc"; //tresc wiadomosci otrzymanej na emailu, koniecznie musi byc tam zmienna $tresc, reszta dowolna
  13.  
  14. mail ("TWOJ@EMAIL.PL", $temat, $email); //funkcja mail, twoj email, temat wpisany w formularzu, tresc podana wyzej+z formularza
  15.  
  16. echo"Formularz o temacie: $temat wysłany pomyślnie!<br>Jego treść:<br>$tresc"; //wiadomosc po wyslaniu przejsciu na te strone, jezeli wszystko pojdzie ok.
  17. ?>


Ten post edytował gorden 12.07.2010, 17:11:12
Go to the top of the page
+Quote Post
Mysik
post
Post #17





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Gordon jesteś super DZIAŁA Oczywiście POMÓGŁ poszło
Ale jeszcze 2 malutkie prośby...

- mógłbyś dorobić do tego formularza pole: Od kogo?? Bo tak to w skrzynce mailowej w polu "Od" wyskakuje HTTP User...
- można by było tak zrobić, żeby errory i wiadomość po wysłaniu formularza pojawiały się POD formularzem? A nie w osobnym okienku??

Ta pierwsza prośba jest ważniejsza, jak to drugie się nie da, to ok...

WYKONAŁEŚ KAWAŁ ŚWIETNEJ ROBOTY



Cytat(webmaniak @ 12.07.2010, 15:54:12 )
Tylko że ten skrypt działa. Skopiowałem go teraz i przetestowałem, zmieniłem oczywiście mail na mój własny w o2 i wiadomość dostarczono.
Przecież mówiłeś wcześniej, że skrypt jest błędny, bo nie ma apostrofów...
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #18





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@Mysik, ten dział nie służy proszeniu o napisanie kodu, tylko do rozwiązywania problemów z napisanymi, powszechnie dostępnymi skryptami. Wiem, nazwa może mylić.
Jeśli nie umiesz dorobić sobie dwóch tak prostych zmian, to co z Ciebie za programista?


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Mysik
post
Post #19





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 22.06.2010

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


Cytat(Cysiaczek @ 19.07.2010, 08:31:02 ) *
@Mysik, ten dział nie służy proszeniu o napisanie kodu, tylko do rozwiązywania problemów z napisanymi, powszechnie dostępnymi skryptami. Wiem, nazwa może mylić.
Jeśli nie umiesz dorobić sobie dwóch tak prostych zmian, to co z Ciebie za programista?


PHP ni hu hu nie znam... więc jeśli chodzi o PHP to programista ze mnie żaden...
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #20





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Zatem przenoszę na subforum Poszukuję i opatruje temat tagiem [wolontariat]. Wszystko dlatego, że jeśli czegoś nie umiesz, to wynajmujesz ludzika, który umie i jakąś większą lub mniejsza opłatą napisze Ci kod.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 21.08.2025 - 23:13