Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] Poprawność emaila i zawartosci
Forum PHP.pl > Forum > Przedszkole
Piotrwusek
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
uli
Aż sprawdziłem, bo mnie szok chwycił, ale nie... Google działa!!!

Walidacja formularzy w PHP
Walidacja w JS
Piotrwusek
No fajnie tylko e jak ja coś wstawiam to wszystko sie psuje
uli
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
Piotrwusek
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 {
Black-Berry
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
uli
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
Piotrwusek
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
uli
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.
Piotrwusek
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ć
uli
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. ?>
Piotrwusek
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
Sadu2
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
Piotrwusek
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.