Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][html] Poprawność emaila i zawartosci
Piotrwusek
post
Post #1





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


Mam taki kod do wysyłania maila który działa

ale potrzebuje żeby sprawdzał majla i czy wszystkie pola zostały wykorzystane

Oto skrypt

kontakt.php3
  1. <TABLE border=0 cellPadding=0 cellSpacing=0 width=564>
  2.  
  3. <TR>
  4. <td>
  5. <form action="email.php3" method="post">
  6. <table align="center" width="100%">
  7. <tr>
  8. <td align=right><font face="verdana,arial" size="1"><B>Imie:</td>
  9. <td><font face="verdana,arial" size="1"><input name="name" size=28 value=""></td>
  10. </tr>
  11. <tr>
  12. <td align=right><font face="verdana,arial" size="1"><B>E-Mail:</td>
  13. <td><font face="verdana,arial" size="1"><input name="email" size=28 value=""></td>
  14. </tr>
  15. <tr>
  16. <td align=right><font face="verdana,arial" size="1"><B>Temat:</td>
  17. <td><font face="verdana,arial" size="1"><input name="site_name" size=28 value=""></td>
  18. </tr>
  19. <tr>
  20. <td colspan=2><font face="verdana,arial" size="1"><B>Treść<BR><textarea name="Comments" cols=50 rows=8 wrap=soft></textarea></td>
  21. </tr>
  22. <tr>
  23. <td></td>
  24. <td><font face="verdana,arial" size="1"><input type="submit" value="Wyślij"></td>
  25. </tr>
  26. </form>
  27. </TD>
  28. </TR>


email.php3
  1. <?
  2.  
  3.  
  4.  
  5. $site_email = "email@coś.pl";
  6.  
  7.  
  8.  
  9.  
  10.  
  11. PRINT "<CENTER>";
  12. PRINT "Witaj, $name.";
  13. PRINT "<BR><BR>";
  14. PRINT "Dziekujemy za zainteresowanie się naszą stroną!<BR><BR>";
  15. PRINT "Twój e-mail został wysłany, odpowiedz przyjdzie niebawem.";
  16. PRINT "</CENTER>";
  17.  
  18. ?>
  19.  
  20. <?
  21. mail("$email", "Thank You From $site_name!", "$namen
  22. Thank you $name for submitting your question/comments!
  23. We will handle your submission in the order of arrival.
  24. If needed, we will email you back. If you do not receive
  25. a reply within 48 hours, please email $site_email!");
  26.  
  27. mail("$site_email",
  28. "$site_name",
  29. "Napisał: $name
  30. Email: $email
  31. Treść:
  32. $Comments
  33. ");
  34. ?>


Pomożecie

Ten post edytował Piotrwusek 22.06.2007, 11:11:11
Go to the top of the page
+Quote Post
uli
post
Post #2





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Aż sprawdziłem, bo mnie szok chwycił, ale nie... Google działa!!!

Walidacja formularzy w PHP
Walidacja w JS


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #3





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


No fajnie tylko e jak ja coś wstawiam to wszystko sie psuje
Go to the top of the page
+Quote Post
uli
post
Post #4





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Cytat(Piotrwusek @ 22.06.2007, 12:30:14 ) *
No fajnie tylko e jak ja coś wstawiam to wszystko sie psuje


Normalnie widzę Twój kod i wiem w której linii masz błędy po poprawkach.

plik email.php3:

  1. <?
  2. function IsValidEmail($semail) {
  3. if(!preg_match('/^([0-9a-zA-Z_.]+)@([0-9a-zA-Z_.]+).([0-9a-zA-Z]){2,3}$/',$semail)) {
  4. return false;
  5. }
  6. else {
  7. return true;
  8. }
  9. }
  10.  
  11.  
  12. //sprawdzenie czy wszystkie pola są wypełnione
  13. if (!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['site_name']) || !isset($_POST['Comments'])
  14. {
  15. echo "nie wypełniłeś któregoś pola";
  16. die();
  17. }
  18.  
  19. //poprawność adresu e-mail
  20. $pat =
  21. "/^[a-z]+[a-z0-9]*[.|-|_]?[a-z0-9]+
  22. @([a-z]+[a-z0-9]*[.|-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}
  23. .[a-z]{2,4}$/";
  24.  
  25. if (IsValidEmail($_POST['email']) == false) {
  26. echo "zły adres email";
  27. die();
  28. }
  29.  
  30.  
  31. $site_email = "email@coś.pl";
  32.  
  33.  
  34.  
  35.  
  36.  
  37. PRINT "<CENTER>";
  38. PRINT "Witaj, $name.";
  39. PRINT "<BR><BR>";
  40. PRINT "Dziekujemy za zainteresowanie się naszą stroną!<BR><BR>";
  41. PRINT "Twój e-mail został wysłany, odpowiedz przyjdzie niebawem.";
  42. PRINT "</CENTER>";
  43.  
  44. mail("$email", "Thank You From $site_name!", "$namen
  45. Thank you $name for submitting your question/comments!
  46. We will handle your submission in the order of arrival.
  47. If needed, we will email you back. If you do not receive
  48. a reply within 48 hours, please email $site_email!");
  49.  
  50. mail("$site_email",
  51. "$site_name",
  52. "Napisał: $name
  53. Email: $email
  54. Treść:
  55. $Comments
  56. ");
  57. ?>


Funkcja na sprawdzenie poprawności emaila została znaleziona przy pomocy opcji SZUKAJ -> SZUKAJ

Do tego jest zobowiązany regulaminem każdy przed napisaniem nowego wątku, o ile się nie mylę.

POZA TYM: Widzę że używasz php 3. Nie będę się rozwodził nad tym, jakiego bólu doświadczysz gdy się okaże że w PHP > 3 trzeba odebrać zmienne z formularza. Zmień wersję jak najprędzej

Ten post edytował uli 22.06.2007, 11:50:43


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #5





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


zmieniłem tak jak mówiłeś na php zamiast php3 wstawiłem ten kod co podąłeś ale teraz zwraca mi że w linijce 14 jest błąd trochę to dziwne bo tam znajduje sie ja widać na powyższym poście znak {

Ten post edytował Piotrwusek 22.06.2007, 12:02:01
Go to the top of the page
+Quote Post
Black-Berry
post
Post #6





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Cytat(uli @ 22.06.2007, 11:24:12 ) *
Aż sprawdziłem, bo mnie szok chwycił, ale nie... Google działa!!!

Walidacja formularzy w PHP
Walidacja w JS
Jak ja kocham te dowcipy o googlowaniu smile.gif


--------------------
Go to the top of the page
+Quote Post
uli
post
Post #7





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Bo pisane z palca. Gdybyś chwilę pomyślał to w linii nr 13 trzeba dołożyć jeszcze )

  1. <?php
  2. if (!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['site_name']) || !isset($_POST['Comments']))
  3. ?>


Kurczę zaczynam być złośliwy jak nospor biggrin.gif Choć mi jeścio brakuje biggrin.gif

Ten post edytował uli 22.06.2007, 12:14:40


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #8





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


powstał taki skrypt


DZIAŁA


pola temat, imię i treść mogą zostać puste a ja chcę żeby musiały zostać wypełnione

  1. <?
  2. function IsValidEmail($email) {
  3. if(!preg_match('/^([0-9a-zA-Z_.]+)@([0-9a-zA-Z_.]+).([0-9a-zA-Z]){2,3}$/',$email)) {
  4. return false;
  5. }
  6. else {
  7. return true;
  8. }
  9. }
  10.  
  11. //sprawdzenie czy wszystkie pola są wypełnione
  12. if (!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['site_name']) || !isset($_POST['Comments']))
  13. {
  14. echo "nie wypełniłeś któregoś pola";
  15. die();
  16. }
  17.  
  18.  
  19. //poprawność adresu e-mail
  20. $pat =
  21. "/^[a-z]+[a-z0-9]*[.|-|_]?[a-z0-9]+
  22. @([a-z]+[a-z0-9]*[.|-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}
  23. .[a-z]{2,4}$/";
  24.  
  25. if (IsValidEmail($_POST['email']) == false) {
  26. echo "Zły adres email.";
  27. die();
  28. }
  29.  
  30.  
  31. $site_email = "zsp3a@kwserwer.nazwa.pl";
  32.  
  33.  
  34.  
  35.  
  36.  
  37. PRINT "<CENTER>";
  38. PRINT "Witaj, $name.";
  39. PRINT "<BR><BR>";
  40. PRINT "Dziekujemy za zainteresowanie się naszą stroną!<BR><BR>";
  41. PRINT "Twój e-mail został wysłany, odpowiedz przyjdzie niebawem.";
  42. PRINT "</CENTER>";
  43.  
  44. mail("$email", "Dziekujemy za e-maila. Temat: $site_name!", "$namen
  45. Witaj $name!
  46.  
  47. Właśnie otrzymaliśmy od ciebie e-maila wysłąny na ades $site_email.
  48. Maksymalny czas oczekiwania na odpowiedz około 48h, zwykle odpowiadamy po 15h.
  49.  
  50. Odpowiedz przyjdzie na $email.
  51.  
  52. -----
  53. Wiadomośc wygenerowana auktomatycznie proszę nie opowiadać na tę odpowiedz
  54.  
  55. ", "From: Zsp3a@kwserwer.nazwa.pl");
  56.  
  57. mail("$site_email",
  58. "$site_name",
  59. "Napisał: $name
  60. Treść:
  61. $Comments
  62. ", "From: $email");
  63. ?>



i jak dodać żeby do wygenerowanej automatycznie wiadomości dodać baner a tam gdzie jest Zły adres e-mail był też przycisk wróć albo przycisk WSTECZ

Ten post edytował Piotrwusek 22.06.2007, 12:53:45
Go to the top of the page
+Quote Post
uli
post
Post #9





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Takie rzeczy to tylko w erze kolego... Chociaż nie! Kubala jeszcze robi za wielbłąda!! Zgłoś się do Plusa!

A poważnie - to albo uczysz się w PHP (i co za tym idzie analizujesz i wyciągasz wnioski), albo szukasz na forum frajerów.

Przeanalizuj to, co napisałem, połącz to z podstawami PHP -> Kurs to sobie dasz radę, jeśli jesteś średnio rozwinięty.


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #10





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


Wiesz przeanalizować to mogę i staram sie uczyć na błędach

ale jak tu
  1. <?php
  2. if (IsValidEmail($_POST['email']) == false) {
  3. echo "Zły adres email.";
  4. die();
  5. }
  6. ?>
Wstawić przycisk wstecz
  1. <?php
  2. <a href="java script:history.back();">Wstecz</A>
  3. ?>


jak wstawię tak

  1. <?php
  2. if (IsValidEmail($_POST['email']) == false) {
  3. echo "Zły adres email. <a href="java script:history.back();">Wstecz</A>";
  4. die();
  5. }
  6. ?>


To pokazują się błędy

to jak to połaczyć
Go to the top of the page
+Quote Post
uli
post
Post #11





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Cytat(Piotrwusek @ 22.06.2007, 13:57:11 ) *
Wiesz przeanalizować to mogę i staram sie uczyć na błędach

ale jak tu
  1. <?php
  2. if (IsValidEmail($_POST['email']) == false) {
  3. echo "Zły adres email.";
  4. die();
  5. }
  6. ?>
Wstawić przycisk wstecz
  1. <?php
  2. <a href="java script:history.back();">Wstecz</A>
  3. ?>


jak wstawię tak

  1. <?php
  2. if (IsValidEmail($_POST['email']) == false) {
  3. echo "Zły adres email. <a href="java script:history.back();">Wstecz</A>";
  4. die();
  5. }
  6. ?>


To pokazują się błędy

to jak to połaczyć


A widzisz na to pytanie Tobie z chęcią odpowiem, bo zawęziłeś problem i nie chcesz gotowca, tylko coś tam kombinujesz. I chwała Ci za to smile.gif

Używasz cudzysłowów w wyświetlanym komunikacie.
Cudzysłów w Twoim wyrażeniu po <a href= jest traktowany jako koniec instrukcji echo. Jeśli echo ma użyć cudzysłów jako wyświetlenie i przesłać to jako tekst trzeba poprzedzić go znakiem \, czyli:

  1. <?php
  2. echo "Zły adres email. <a href="java script:history.back();">Wstecz</A>";
  3. ?>


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #12





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


Dzięki teraz poprobuje pobawić sie zęby wszystkie pola musiały być wypełnione

Wielkie dzięki za wskazówki widoczne powyższych postach

smile.gif

Ten post edytował Piotrwusek 22.06.2007, 13:34:04
Go to the top of the page
+Quote Post
Sadu2
post
Post #13





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

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


Witam,
Żeby nie zaczynać kolejnego nowego wątku to napisze tutaj, bo w sumie o to samo chodzi.
Mam taki kod:

  1. <?php
  2. function sprawdz_email($email) {
  3. if(!preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is', $email)) {
  4. return false;
  5. }
  6. else {
  7. return true;
  8. }
  9. }
  10. ?>


I gdzie go mam wsadzić w ten formularz:

  1. <div class="naglowek">
  2. <div class="menug2" align="center">
  3. Formularz Kontaktowy
  4. </div>
  5. </div>
  6. <div class="artykul">
  7. <img src="images/layout_11.gif" width="433" alt="" />
  8. <div class="archiwum5">
  9.  
  10. <!-- Formularz kontaktowy - contact.php -->
  11. <form ACTION="index.php?go=contact" method="post">
  12. <B>Imię:</B><BR> 
  13. <input TYPE="text" size="30" name="imie"><BR>
  14. <B>Twój adres e-mail:</B> <span class="required"><font color="red">*</FONT></span><BR> 
  15. <input TYPE="text" size="30" name="email"><BR>
  16. <B>Wybierz adresata:</B> <span class="required"><font color="red">*</FONT></span><BR>
  17. <select name="adresat">
  18. <option value="xx@xx.pl">Admin Strony</option>
  19. <option value="yy@yy.pl">Dyrektor Klubu</option>
  20. </SELECT><BR>
  21. <B>Temat:</B> <span class="required"><font color="red">*</FONT></span><BR> 
  22. <input TYPE="text" size="30" name="temat"><BR>
  23. <B>Treść:</B> <span class="required"><font color="red">*</FONT></span><BR> <textarea name="tresc" rows="7" cols="40"></TEXTAREA><BR>
  24. <input TYPE="submit" name"wyslij" value="Wyślij">
  25. <input type="reset" value="Wyczyść">
  26. </FORM>
  27.  
  28. <?
  29.  
  30. if (isset ($_POST['imie']) && ($_POST['email']) && ($_POST['adresat']) && ($_POST['temat']) && ($_POST['tresc'])) {
  31.  
  32. $wyslij = mail($adresat, $temat, 
  33. "E-mail zostal wyslany ze strony www
  34. ==================================================
  35. Tresc: 
  36.  
  37. $trescrn", 
  38. "From: $emailrnBounce-to: xxx@xxxx.pl");
  39.  
  40. if ($wyslij) {
  41.  
  42. echo "<P>Twój e-mail został wysłany!</P>";
  43.  
  44. } else {
  45.  
  46. echo "Przepraszamy, wystąpił problem z wysyłaniem. Proszę spróbować jeszcze raz";
  47. }
  48. }
  49. ?>
  50.  
  51. </div>
  52.  <img src="images/layout_22.gif" width="433" alt="" />
  53. </div>


Aby zadziała walidacja, jak ktoś wpisze w pole 'Twój email' np. adsdd
Pozdrawiam
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #14





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


Takie rzeczy to tylko w erze kolego... Chociaż nie! Kubala jeszcze robi za wielbłąda!! Zgłoś się do Plusa!

A poważnie - to albo uczysz się w PHP (i co za tym idzie analizujesz i wyciągasz wnioski), albo szukasz na forum frajerów.

Przeanalizuj to, co jest na powyżej, połącz to z podstawami PHP -> Kurs to sobie dasz radę, jeśli jesteś średnio rozwinięty.

A tak do rzeczy to są słowa uli który dał mi powyższe wskazówki na napisanie poniższego kodu który wysyła mi emila ze strony

kontakt.php
  1. <TABLE border=0 cellPadding=0 cellSpacing=0 width=564>
  2.  
  3. <TR>
  4. <td>
  5. <form action="email.php" method="post">
  6. <table align="left" width="400" border="0">
  7. <tr>
  8. <td align=><font face="verdana,arial" size="1"><B>Imie:</td>
  9. <td><font face="verdana,arial" size="1"><input name="name" size=15 value=""></td>
  10. </tr>
  11. <tr>
  12. <td align=><font face="verdana,arial" size="1"><B>E-Mail:</td>
  13. <td><font face="verdana,arial" size="1"><input name="email" size=28 value=""></td>
  14. </tr>
  15. <tr>
  16. <td align=><font face="verdana,arial" size="1"><B>Temat:</td>
  17. <td><font face="verdana,arial" size="1"><input name="site_name" size=40 value=""></td>
  18. </tr>
  19. <tr>
  20. <td colspan="0" width="300"><font face="verdana,arial" size="1"><B>Treść<br /><textarea name="Comments" cols=2 rows=5 wrap=soft></textarea></td>
  21. </tr>
  22. <tr> </tr>
  23. <td width="200"> </td><td align="center"><font face="verdana,arial" size="1"><input type="submit" value="Wyślij"></td>
  24. <td align="center" width="500"></td>
  25. </tr>
  26. </form>
  27. </TD>
  28. </TR>


email.php

  1. <?
  2. function ValidEmail($email) {
  3.  if (!eregi("[a-z0-9]+@+[a-z0-9]+.+[a-z]" , $email)) {
  4. return false;
  5.  }
  6.  return true;
  7. }
  8.  
  9. function ValidName($name) {
  10.  if (!eregi("[a-z0-9]" , $name)) {
  11. return false;
  12.  }
  13.  return true;
  14. }
  15.  
  16. function ValidSite_name($site_name) {
  17.  if (!eregi("[a-z]" , $site_name)) {
  18. return false;
  19.  }
  20.  return true;
  21. }
  22.  
  23. function Validcomments($Comments) {
  24.  if (!eregi("[a-z]" , $Comments)) {
  25. return false;
  26.  }
  27.  return true;
  28. }
  29.  
  30.  
  31.  
  32. if (ValidEmail($_POST['email']) == false) {
  33. echo "Zły adres email.
  34. <a href="java script:history.go(-1);"><font color="black">Wstecz</font></a> ";
  35. die();
  36. }
  37.  
  38. if (ValidName($_POST['name']) == false) {
  39. echo "Podaj imie.
  40. <a href="java script:history.go(-1);"><font color="black">Wstecz</font></a> ";
  41. die();
  42. }
  43.  
  44. if (ValidSite_name($_POST['site_name']) == false) {
  45. echo "Wpisz temat.
  46. <a href="java script:history.go(-1);"><font color="black">Wstecz</font></a> ";
  47. die();
  48. }
  49.  
  50. if (Validcomments($_POST['Comments']) == false) {
  51. echo "Wpisz tresc wiadomosci.
  52. <a href="java script:history.go(-1);"><font color="black">Wstecz</font></a> ";
  53. die();
  54. }
  55.  
  56.  
  57. $site_email = "twój emil";
  58.  
  59.  
  60.  
  61.  
  62.  
  63. PRINT "<CENTER>";
  64. PRINT "Witaj, $name.";
  65. PRINT "<BR><BR>";
  66. PRINT "Dziekujemy za zainteresowanie się naszą stroną!<BR><BR>";
  67. PRINT "Twój e-mail został wysłany, odpowiedz przyjdzie niebawem.";
  68. PRINT "<BR><BR>";
  69. PRINT "</CENTER>";
  70.  
  71. mail("$email", "Dziekujemy za e-maila. Temat: $site_name!", "$namen
  72.  
  73. Witaj $name!
  74.  
  75. Właśnie otrzymaliśmy od ciebie e-maila wysłąny na ades $site_email.
  76. Maksymalny czas oczekiwania na odpowiedz około 48h, zwykle odpowiadamy po 15h.
  77.  
  78. Odpowiedz przyjdzie na $email.
  79.  
  80. -----
  81. Wiadomośc wygenerowana auktomatycznie proszę nie opowiadać na tę odpowiedz
  82.  
  83.  
  84. ", "From: $site_email");
  85.  
  86. mail("$site_email",
  87. "$site_name",
  88. "Napisał: $name
  89.  
  90. Treść:
  91. $Comments
  92. ", "From: $email");
  93. ?>


trzeba tylko wpisać swój email

gdyby coś nie działało to sprawdz czy nie masz ograniczonej opcji mail


Dałem ci to po to żebyś przeanalizował i postawił do swojego formularza ten skrypt działa poprawnie na http://www.kwserwer.nazwa.pl/szkola/kontakt.php

Ten post edytował Piotrwusek 22.06.2007, 17:44:22
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: 19.08.2025 - 08:42