Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]E-mail Formularz (Prosze o pomoc)
^(-.-)^
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.09.2008

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


Witajcie moi drodzy,

A wiec jestem poczatkujacym koderem jezeli chodzi o PHP i teraz mam male zamieszanie. A mianowicie chce zrobic formularz email do mojej strony pod nazwa contact.php. Napisalem 1/5 kodu php ale pozniej nie za bardzo wiem za co sie wziac pierwszy. Moze ktos mi pomoze. To jest moj kod:

  1. <?php
  2. include('include/header.php');
  3. ?>
  4.  
  5. <span class="content_bg"></span>
  6. <span class="content_bg2"></span>
  7. <span class="content_bg3"></span>
  8.  
  9. <div id="content2">
  10. <form id="sendmail" action="contact.php" method="POST" >
  11.  
  12.  
  13. <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
  14. <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
  15. <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
  16.  
  17. <p id="contact"><img src="img/kontakt.jpg" alt="kontakt_obrazek" /></p>
  18. <p id="cont">Wszelkie uwagi, problemy i opinie na temat.... są mile widziane</p>
  19. <p id="m1">Temat: <input id="m2" name="temat" type="text" size="45" maxlength="30" /></p>
  20. <p id="m1">Imię i Nazwisko: <input id="m2" name="imie" type="text" size="45" maxlength="30" /></p>
  21. <p id="m1">E-mail: <input id="m2" name="mail" type="text" /></p>
  22. <p id="m1"><span class="m11">Wiadomość:</span> <textarea id="m3" name="message" type="textarea" cols="60" rows="5"></textarea></p>
  23. <input id="send" name="submit" type="submit" value="" />
  24.  
  25. <?php
  26. $ip = $_POST['ip'];
  27. $httpref = $_POST['httpref'];
  28. $httpagent = $_POST['httpagent'];
  29. $temat=$_POST['temat'];
  30. $imie=$_POST['imie'];
  31. $mail=$_POST['mail'];
  32. $message=$_POST['message'];
  33. $submit=$_POST['submit'];
  34. ?>
  35.  
  36. </form>
  37. </div>
  38.  
  39. <?php
  40. include('include/footer.php');
  41. ?>


Co ja chce robic?
1. Chce robic formularz zeby uzytkownicy mojej strony moga wysylac do mnie email. jako action chce zeby byla ta sama strona co zakladka czyli contact.php.
2. Chce zeby kazde komunikaty dotyczace wysylaniem email oraz bledy sa wyswietlone nad formularzem (Juz zrobilem CSS do tego).
3. Chce zeby wszystkie pole byly uwzglednione czyli jezeli 1 z tych pol bedzie pusty to bedzie komunikat jak "Wszystkie pole sa obowiazkowe"
4. Chce zabiezpieczyc sie przed spamerami (ustawic tak zeby usery mogli napisac email w odstepie 30 mn np) - przyda sie tez poprawnosc emaila podane przez usera.

To wszystko czego bym sobie zyczyl. Mam nadzieje ze duzo nie prosilem. I bede bardzo wdzieczny jezeli ktos mi w tym pomoze. A mianowicie bym sie nauczyc i czegos wiecej sie dowiedzial bo ucze sie php wlasnie i potrzebuje mala pomoc.

Pozdrawiam serdecznie
Johny
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
^(-.-)^
post
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.09.2008

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


Nie no nie jestem az takim totalnym zielonym az do dna. Po to jest forum zeby sie pytac w razie problemow a wy albo udzielicie pomocy albo nie to prosty zamiast odbiegac sie od tematu i zaczynac wykladu moralnego dawac.
Poczatkowy kod jaki dalem jak napisalem ten watek jest moj i sam go zrobilem wiec zapewne nie z jakiegos gotowca. Ja tylko prosilem o pomoc i jakie wymaganie mialem. Prosilem o weryfikacji emaila na formularzu a ktos mi dal kod zeby sprawdzic czy email jest poprawny w bazie danych... a wspomnialem wczesniej ze na mojej strony nie ma zadnego logowania tylko prosta strona z zakladka kontakt dla userow jezeli maja jakis feedback.

A ty udzielasz sie w moim temacie i kazesz mi rozumiec php... gdybym nie rozumial na pewno bym ci nie pokazal ten kod wyzej ale ok wporzadku, kazda rada jest dobra wiec skorzystam.

Podsumujac zmienilem troche gry na moim kodzie. Teraz bawilem sie i zrobilem taki kod:

  1. <?php
  2. include('include/header.php');
  3. ?>
  4.  
  5. <span class="content_bg"></span>
  6. <span class="content_bg2"></span>
  7. <span class="content_bg3"></span>
  8.  
  9.  
  10.  
  11. <div id="content2">
  12. <?php
  13. if ((empty($_POST['temat']) or empty($_POST['imie']) or empty($_POST['mail']) or empty($_POST['message'])) and !empty($_POST['submit'])) {
  14. // wyświetlamy formularz
  15. <form id="sendmail" action="contact.php" method="POST" >
  16.  
  17.  
  18. <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
  19. <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
  20. <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
  21.  
  22. <p id="contact"><img src="img/kontakt.jpg" alt="kontakt_obrazek" /></p>
  23. <p id="cont">Wszelkie uwagi, problemy i opinie na temat aaa.pl są mile widziane</p>
  24. <p id="m1">Temat: <input id="m2" name="temat" type="text" size="45" maxlength="30" /></p>
  25. <p id="m1">Imię i Nazwisko: <input id="m2" name="imie" type="text" size="45" maxlength="30" /></p>
  26. <p id="m1">E-mail: <input id="m2" name="mail" type="text" /></p>
  27. <p id="m1"><span class="m11">Wiadomość:</span> <textarea id="m3" name="message" type="textarea" cols="60" rows="5"></textarea></p>
  28. <input id="send" name="submit" type="submit" value="" />
  29. </form> ';
  30. // lub w przypadku nie wypełnienia formularza do końca
  31. echo '<div id="error">Proszę wypełnić wszystkie pole</div>';
  32. }
  33. elseif (empty($_POST['temat']) or empty($_POST['imie']) or empty($_POST['message']) or empty($_POST['email']) and empty($_POST['submit'])) {
  34. // wyświetlamy formularz
  35. echo '
  36. <form id="sendmail" action="contact.php" method="POST" >
  37.  
  38.  
  39. <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
  40. <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
  41. <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
  42.  
  43. <p id="contact"><img src="img/kontakt.jpg" alt="kontakt_obrazek" /></p>
  44. <p id="cont">Wszelkie uwagi, problemy i opinie na temat aaa.pl są mile widziane</p>
  45. <p id="m1">Temat: <input id="m2" name="temat" type="text" size="45" maxlength="30" /></p>
  46. <p id="m1">Imię i Nazwisko: <input id="m2" name="imie" type="text" size="45" maxlength="30" /></p>
  47. <p id="m1">E-mail: <input id="m2" name="mail" type="text" /></p>
  48. <p id="m1"><span class="m11">Wiadomość:</span> <textarea id="m3" name="message" type="textarea" cols="60" rows="5"></textarea></p>
  49. <input id="send" name="submit" type="submit" value="" />
  50. </form> ';
  51. }
  52.  
  53. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  54. elseif (!empty($_POST['temat']) && !empty($_POST['imie']) && !empty($_POST['message']) && !empty($_POST['email'])) {
  55. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  56. // zmienna $message zawiera treść wiadomości
  57. $message = "Treść wiadomości:n$_POST[message]nWysłał: $_POST[imie]ne-mail: $_POST[email]";
  58. // zmienna $header zawiera przede wszystkim adres zwrotny
  59. $header = "From: $_POST[imie] <$_POST[email]>";
  60. $topic = "Temat: $_POST[temat]";
  61. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  62. @mail("jakistam@mail.com","Wiadomosc ze strony WWW", "$topic", "$message","$header")
  63. or die('<div id="error">Nie udało się wysłać wiadomości</div>');
  64. // wyświetlenie komunikatu w przypadku powodzenia
  65. echo '<div id="succes">Wiadomość została wysłana poprawnie!</div>';
  66. }
  67.  
  68.  
  69. ?>
  70. </div>
  71. <?php
  72. include('include/footer.php');
  73. ?>


Prostego kodu chyba juz nie dalo sie napisac bo jeszcze nie dodalem tam formuly zeby zweryfikowac email ale zrobie to pozniej.

Problem w tym kodzie jest taki ze zaden komunikat sie nie wyswietla. Niby wszystko ladnie sie pokazuje w przegladarce ale jak zaczynam robic jakies akcje np klikajac na WYSLIJ majac puste pole to strona tylko sie laduje ale zaden komunikat albo jakies ERRORY. Wiec nie wiem czy w tych ECHO jest zle cos czy nie. Wiec co sadzicie o tym?


Ten post edytował ^(-.-)^ 23.08.2009, 18:36:07
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 00:42