Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript]Sprawdzanie wypelnionych pol firmularza
Forum PHP.pl > Forum > Przedszkole
mateopl
Witam
Mam wielka prosbe o pomoc w sprawie skryptu ktory sprawdza czy pola formularza mailowego czy jakiego kolwiek sa wypelnione oczywiscie te ktore bym wskazal w skrypcie...
Mam kawalek skryptu w moim formularzu ale on sprawdza tylko poprawnosc wpisanego adresu mailowego.. a chcialbym do niego dopisac mozliwosc sprawdzenia tych dodatkowych pol...
Bardzo prosze o pomoc i podpowiedz jak i co mam dopisac do tego skryptu..
  1. <script type="text/javascript">
  2. <!-- <![CDATA[
  3. function sprawdz(t) {
  4.  
  5. if (!t.mail.value.match(/^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,6}$/)) {
  6. alert("Podales nie poprawny adres e-mail, popraw go i wysli ponownie");
  7. t.mail.focus();
  8. return false;
  9. }
  10. return true;
  11. }
  12. // ]]> -->
vokiel
może coś w ten ton:
(pisane z palca, mogą być błędy)
  1. <script type="text/javascript">
  2. function sprawdz(t) {
  3. var pola = array ('imie','nazwisko','mail');
  4. for (i=0; i<lenght(pola); i++){
  5. if (!checkIfEmpty(pola[i])){
  6. return false;
  7. }else{
  8. if (pola[i]=='mail'){
  9. if (!checkEmail){
  10. return false;
  11. }else{
  12. return true;
  13. }
  14. }
  15. return true;
  16. }
  17. }
  18. }
  19. function checkEmail(){
  20. if (!document.getElementById.value.match(/^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,6}$/)) {
  21. alert("Podales nie poprawny adres e-mail, popraw go i wysli ponownie");
  22. t.mail.focus();
  23. return false;
  24. }else {
  25. return true;
  26. }
  27. }
  28. function checkIfEmpty(id){
  29. if (document.getElementById(id).value<3){
  30. return false;
  31. }else{
  32. return true;
  33. }
  34. }
-mateopl-
wielkie dzieki za pomoc ale nic nie dziala:( nawet gdy nic nie wypelnie form zostaje wyslany:(

Podaje caly kod tego skryptu moze tu bedzie jakies rozwiazanie ktore pomoze w napisaniu tego sprawdzania wypelnionych pol:

  1. <?
  2. echo '<?xml version="1.0" encoding="ISO-8859-2"?>';
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  5.  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  7. <head>
  8. <title>Formularz kontaktowy</title>
  9. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  10. <meta http-equiv="Content-Language" content="pl" />
  11. <style type="text/css">
  12. /* <![CDATA[ */
  13. body {
  14. background-color: #ffeeac;
  15. }
  16. .formulaz {
  17. margin-left: 273px;
  18. padding: 10px;
  19. background-color: #ffaf25;
  20. border-style: double;
  21. border-color: #fff6aa;
  22. width: 205px;
  23. height: auto;
  24. border-width: 4px;
  25. }
  26. .slowa {
  27. color: #9F6C2C;
  28. text-align: left;
  29. font-size: 13px;
  30. }
  31. .pole {
  32. width: 200px;
  33. background-color: #ffe57c;
  34. text-align: center;
  35. border-style: double;
  36. border-color: #DEB887;
  37. }
  38. .pole_imie {
  39. width: 200px;
  40. text-transform: capitalize;
  41. background-color: #ffe57c;
  42. text-align: center;
  43. border-style: double;
  44. border-color: #DEB887;
  45. }
  46. .guzik {
  47. background-color: #ffe57c;
  48. border-style: double;
  49. border-color: #fff6aa;
  50. border-width: 4px;
  51. }
  52. .pole_txt {
  53. width: 200px;
  54. height: 100px;
  55. background-color: #ffe57c;
  56. text-align: left;
  57. border-style: double;
  58. border-color: #DEB887;
  59. font-family: arial;
  60. font-size: 12px;
  61. }
  62. /* ]]> */
  63. </style>
  64. </head>
  65. <body>
  66. <table style="width:100%;" border="0" cellpadding="0" cellspacing="0">
  67. <tr>
  68. <td align="center">
  69. <div class="formulaz">
  70. <script type="text/javascript">
  71. <!-- <![CDATA[
  72. function sprawdz(t) {
  73.  
  74. if (!t.mail.value.match(/^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,6}$/)) {
  75. alert("Podales nie poprawny adres e-mail, popraw go i wysli ponownie:)");
  76. t.mail.focus();
  77. return false;
  78. }
  79. return true;
  80. }
  81. // ]]> -->
  82. </script>
  83. <?php
  84.  
  85. // Autor: Wojtek
  86. // Kontakt: e-mail: wojtas_92@ornage.pl Gadu-Gadu: 4925733 oraz na stronie <a href=\"http://www.wojtek.topworld.org/\" target=\"_blank\">http://www.wojtek.topworld.org/</a> w dziale kontakt
  87. // Storna WWW (mozna na niej znalesc pomoc): <a href=\"http://www.wojtek.topworld.org/\" target=\"_blank\">http://www.wojtek.topworld.org/</a>
  88. // Prawa autorskie: Skryptu mozna uzywac na kazdej stronie internetowej (wyjatkiem sa strony komercyjne, aby uzywac go na stronach komercyjnych nale
    zy sie ze mna skataktowac i ustalic waruniki korzystania na stronach komercyjnych).
  89. // Aby uzywac skryptu na swoich stronach NIE MOZNA uswac napisu ktory wyswietlany 
    jest na kazdej stronie skryptu (informuje on o prawa autorskich) jesli to zrobisz zlamiesz prawa autorskie! Aby moc usunac ten napis nalezy
     sie ze mna skontaktowac oraz omuwic nowe warunki korzystania z tego skryptu!
  90.  
  91. // ----------> USTAWIENIA <----------
  92.  
  93. include("ustawienia.php"); //includowanie pliku aby ustawic ustawienia nalezy go odpowiedni zedytowac
  94.  
  95. // ---------> WYKONANIE SKRYPTU <---------
  96. // ---------> TO CO JEST PONIZEJ TO JEST KOD PHP!! NIE MASZ PRAWA GO MODYFIKOWAC!!! ABY ZM
    IENIC WYGLAD NALEZY MODYFIKOWAC STYL CSS!!! <---------
  97.  
  98. $send=$_POST[send];
  99. $tresc=nl2br(strip_tags($_POST[tresc]));
  100. $dane=ucwords(strip_tags($_POST[dane]));
  101. $mail=strip_tags($_POST[mail]);
  102. $temat=strip_tags($_POST[temat]);
  103. $ip = $_SERVER['REMOTE_ADDR'];
  104. $data = date("d-m-Y");
  105.  
  106. if($send=="Wyslij")
  107. {
  108. if("$rodzaj_tematu"=="3")
  109. {
  110. $temat=$temat_staly;
  111. }
  112. switch($rodzaj_wysylki_wiadomosci)
  113. {
  114. case '1':
  115.  $headers="Content-type: text/html; charset=iso-8859-2
  116. From: $dane <$mail>";
  117. mail("$email", "$temat", "$tresc <br /><br />$dane<br />_____<br />Wyslane z IP: $ip<br />Z formulaza kontaktowego<br />Mozesz kliknac ODPOWIEDZ - zostanie to wyslane do $dane</from>", "$headers");  
  118. break;
  119. case '2':
  120.  $wynik = "$tresc <br /><br />$dane";
  121. $dane=".,^^.,^$wynik.^�.$mail.^�.$dane.^�.$temat.^�.$ip.^�.$data";
  122. $file="baza.txt";
  123. if(filesize('baza.txt')>=1)
  124. {
  125. $fp=fopen("$file", "r+");
  126. $dane=$dane.fread($fp, filesize($file));
  127. rewind($fp);
  128. flock($fp, 2);
  129. fwrite($fp, $dane);
  130. flock($fp, 3);
  131. fclose($fp);
  132. } else {
  133. $fp=fopen("$file", "r+");
  134. fwrite($fp, $dane);
  135. flock($fp, 3);
  136. fclose($fp);
  137. }
  138. break;
  139. case '3':
  140.  $headers="Content-type: text/html; charset=iso-8859-2
  141. From: $dane <$mail>";
  142. mail("$email", "$temat", "$tresc <br /><br />$dane<br />_____<br />Wyslane z IP: $ip<br />Z formulaza kontaktowego<br />Mozesz kliknac ODPOWIEDZ - zostanie to wyslane do $dane</from>", "$headers");  
  143. $wynik = "$tresc <br /><br />$dane";
  144. $dane=".,^^.,^$wynik.^�.$mail.^�.$dane.^�.$temat.^�.$ip.^�.$data";
  145. $file="baza.txt";
  146. if(filesize('baza.txt')>=1)
  147. {
  148. $fp=fopen("$file", "r+");
  149. $dane=$dane.fread($fp, filesize($file));
  150. rewind($fp);
  151. flock($fp, 2);
  152. fwrite($fp, $dane);
  153. flock($fp, 3);
  154. fclose($fp);
  155. } else {
  156. $fp=fopen("$file", "r+");
  157. fwrite($fp, $dane);
  158. flock($fp, 3);
  159. fclose($fp);
  160. }
  161. break;
  162. }
  163. echo "<div class=\"slowa\">$podziekowanie</div>";
  164. // --------> RESZTA SKRYPTU <---------
  165. } else {
  166. echo "<form action=\"\" method=\"post\" onsubmit=\"return sprawdz(this);\">
  167. <div class=\"slowa\"><b>FORMULARZ KONTAKTOWY<br /></b>Imię i Nazwisko</div>
  168. <input name=\"dane\" type=\"text\" class=\"pole_imie\" maxlength=\"50\" size=\"15\" />";
  169. switch($rodzaj_tematu)
  170. {
  171. case '1':
  172. echo "<div class=\"slowa\">Temat wiadomości</div>
  173. <input name=\"temat\" type=\"text\" class=\"pole\" maxlength=\"50\" size=\"15\" />";
  174. break;
  175. case '2':
  176.  echo "<div class=\"slowa\">Temat wiadomości</div>
  177. <select name=\"temat\" class=\"pole\" />";
  178. foreach($lista_tematow as $wpis)
  179. {
  180. echo "<option>$wpis</option>";
  181. }
  182. echo "</select>";
  183. break;
  184. }
  185.  
  186. echo "<div class=\"slowa\">Twój e-mail</div>
  187. <input name=\"mail\" type=\"text\" class=\"pole\" maxlength=\"50\" size=\"15\" />
  188. <div class=\"slowa\">Treść wiad.</div>
  189. <textarea name=\"tresc\" class=\"pole_txt\"></textarea><br />
  190. <input type=\"submit\" border=\"0\" name=\"send\" border=\"0\" class=\"guzik\" value=\"Wyslij\" />
  191. </form>";
  192.  
  193. }
  194. echo '</div>';
  195. echo "Š Formularz ten stworzył <a href=\"http://www.wojtek.topworld.org/kontakt.php\">WOJTEK</a>! <a href=\"http://www.wojtek.topworld.org/\">Oficjalna strona, download</a>"; // jezeli usuniesz ten napis STRACISZ WSZYTKIE PRAWA DO UZYTOKOWANIA TEGO SKRYPTU 
    ORAZ ZLAMIESZ POSTANOWIENIA LICENCJI!!!!!! JEZELI NIE CHCESZ MIEC TEGO NAPISU SKO
    NTAKTUJ SIE ZE MNA NAPEWNO SIE DOGDAMY BYS NIE MUSIAL GO STOSOWAC
  196. ?>
  197. </td>
  198. </tr>
  199. </table>
  200. </body>
  201. </html>
vokiel
A zobacz teraz?
  1. <?php
  2. echo '<?xml version="1.0" encoding="ISO-8859-2"?>';
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  5.  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  7. <head>
  8. <title>Formularz kontaktowy</title>
  9. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  10. <meta http-equiv="Content-Language" content="pl" />
  11. <style type="text/css">
  12. /* <![CDATA[ */
  13. body {
  14. background-color: #ffeeac;
  15. }
  16. .formulaz {
  17. margin-left: 273px;
  18. padding: 10px;
  19. background-color: #ffaf25;
  20. border-style: double;
  21. border-color: #fff6aa;
  22. width: 205px;
  23. height: auto;
  24. border-width: 4px;
  25. }
  26. .slowa {
  27. color: #9F6C2C;
  28. text-align: left;
  29. font-size: 13px;
  30. }
  31. .pole {
  32. width: 200px;
  33. background-color: #ffe57c;
  34. text-align: center;
  35. border-style: double;
  36. border-color: #DEB887;
  37. }
  38. .pole_imie {
  39. width: 200px;
  40. text-transform: capitalize;
  41. background-color: #ffe57c;
  42. text-align: center;
  43. border-style: double;
  44. border-color: #DEB887;
  45. }
  46. .guzik {
  47. background-color: #ffe57c;
  48. border-style: double;
  49. border-color: #fff6aa;
  50. border-width: 4px;
  51. }
  52. .pole_txt {
  53. width: 200px;
  54. height: 100px;
  55. background-color: #ffe57c;
  56. text-align: left;
  57. border-style: double;
  58. border-color: #DEB887;
  59. font-family: arial;
  60. font-size: 12px;
  61. }
  62. /* ]]> */
  63. </style>
  64. </head>
  65. <body>
  66. <table style="width:100%;" border="0" cellpadding="0" cellspacing="0">
  67. <tr>
  68. <td align="center">
  69. <div class="formulaz">
  70. <script type="text/javascript">
  71. <!-- <![CDATA[
  72. function sprawdz(){
  73. var blad=0; var bledy='Błąd!\nnie podano danych w polach:\n';
  74. var pola = new Array ('dane','temat',tresc','mail');
  75. for (i=0; i<pola.length; i++){
  76. if (checkIfEmpty(pola[i])){
  77. bledy += ' - ' + pola[i] + '\n';
  78. blad ++;
  79. }else{
  80. if (pola[i]=='mail'){
  81. if (!checkEmail()){
  82. bledy += ' - ' + pola[i] + '\n';
  83. blad ++;
  84. }
  85. }
  86. }
  87. }
  88. if (blad>0){
  89. alert (bledy);
  90. return false;
  91. }else{
  92. return true;
  93. }
  94. }
  95. function checkEmail(){
  96. if (!document.getElementById('mail').value.match(/^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,6}$/)) {
  97. return false;
  98. }else {
  99. return true;
  100. }
  101. }
  102. function checkIfEmpty(id){
  103. if (document.getElementById(id).value<3){
  104. return true;
  105. }else{
  106. return false;
  107. }
  108. }
  109. // ]]> -->
  110. </script>
  111. <?php
  112.  
  113. // Autor: Wojtek
  114. // Kontakt: e-mail: wojtas_92@ornage.pl Gadu-Gadu: 4925733 oraz na stronie <a href=\"http://www.wojtek.topworld.org/\" target=\"_blank\">http://www.wojtek.topworld.org/</a> w dziale kontakt
  115. // Storna WWW (mozna na niej znalesc pomoc): <a href=\"http://www.wojtek.topworld.org/\" target=\"_blank\">http://www.wojtek.topworld.org/</a>
  116. // Prawa autorskie: Skryptu mozna uzywac na kazdej stronie internetowej (wyjatkiem sa strony komercyjne, aby uzywac go na stronach komercyjnych nale
    zy sie ze mna skataktowac i ustalic waruniki korzystania na stronach komercyjnych).
  117. // Aby uzywac skryptu na swoich stronach NIE MOZNA uswac napisu ktory wyswietlany 
    jest na kazdej stronie skryptu (informuje on o prawa autorskich) jesli to zrobisz zlamiesz prawa autorskie! Aby moc usunac ten napis nalezy
     sie ze mna skontaktowac oraz omuwic nowe warunki korzystania z tego skryptu!
  118.  
  119. // ----------> USTAWIENIA <----------
  120.  
  121. include("ustawienia.php"); //includowanie pliku aby ustawic ustawienia nalezy go odpowiedni zedytowac
  122.  
  123. // ---------> WYKONANIE SKRYPTU <---------
  124. // ---------> TO CO JEST PONIZEJ TO JEST KOD PHP!! NIE MASZ PRAWA GO MODYFIKOWAC!!! ABY ZM
    IENIC WYGLAD NALEZY MODYFIKOWAC STYL CSS!!! <---------
  125.  
  126. $send=$_POST[send];
  127. $tresc=nl2br(strip_tags($_POST[tresc]));
  128. $dane=ucwords(strip_tags($_POST[dane]));
  129. $mail=strip_tags($_POST[mail]);
  130. $temat=strip_tags($_POST[temat]);
  131. $ip = $_SERVER['REMOTE_ADDR'];
  132. $data = date("d-m-Y");
  133.  
  134. if($send=="Wyslij")
  135. {
  136. if("$rodzaj_tematu"=="3")
  137. {
  138. $temat=$temat_staly;
  139. }
  140. switch($rodzaj_wysylki_wiadomosci)
  141. {
  142. case '1':
  143.  $headers="Content-type: text/html; charset=iso-8859-2
  144. From: $dane <$mail>";
  145. mail("$email", "$temat", "$tresc <br /><br />$dane<br />_____<br />Wyslane z IP: $ip<br />Z formulaza kontaktowego<br />Mozesz kliknac ODPOWIEDZ - zostanie to wyslane do $dane</from>", "$headers");  
  146. break;
  147. case '2':
  148.  $wynik = "$tresc <br /><br />$dane";
  149. $dane=".,^^.,^$wynik.^?.$mail.^?.$dane.^?.$temat.^?.$ip.^?.$data";
  150. $file="baza.txt";
  151. if(filesize('baza.txt')>=1)
  152. {
  153. $fp=fopen("$file", "r+");
  154. $dane=$dane.fread($fp, filesize($file));
  155. rewind($fp);
  156. flock($fp, 2);
  157. fwrite($fp, $dane);
  158. flock($fp, 3);
  159. fclose($fp);
  160. } else {
  161. $fp=fopen("$file", "r+");
  162. fwrite($fp, $dane);
  163. flock($fp, 3);
  164. fclose($fp);
  165. }
  166. break;
  167. case '3':
  168.  $headers="Content-type: text/html; charset=iso-8859-2
  169. From: $dane <$mail>";
  170. mail("$email", "$temat", "$tresc <br /><br />$dane<br />_____<br />Wyslane z IP: $ip<br />Z formulaza kontaktowego<br />Mozesz kliknac ODPOWIEDZ - zostanie to wyslane do $dane</from>", "$headers");  
  171. $wynik = "$tresc <br /><br />$dane";
  172. $dane=".,^^.,^$wynik.^?.$mail.^?.$dane.^?.$temat.^?.$ip.^?.$data";
  173. $file="baza.txt";
  174. if(filesize('baza.txt')>=1)
  175. {
  176. $fp=fopen("$file", "r+");
  177. $dane=$dane.fread($fp, filesize($file));
  178. rewind($fp);
  179. flock($fp, 2);
  180. fwrite($fp, $dane);
  181. flock($fp, 3);
  182. fclose($fp);
  183. } else {
  184. $fp=fopen("$file", "r+");
  185. fwrite($fp, $dane);
  186. flock($fp, 3);
  187. fclose($fp);
  188. }
  189. break;
  190. }
  191. echo "<div class=\"slowa\">$podziekowanie</div>";
  192. // --------> RESZTA SKRYPTU <---------
  193. } else {
  194. echo "<form action=\"\" method=\"post\" onsubmit=\"return sprawdz();\">
  195. <div class=\"slowa\"><b>FORMULARZ KONTAKTOWY<br /></b>Imię i Nazwisko</div>
  196. <input id=\"dane\" name=\"dane\" type=\"text\" class=\"pole_imie\" maxlength=\"50\" size=\"15\" />";
  197. switch($rodzaj_tematu)
  198. {
  199. case '1':
  200. echo "<div class=\"slowa\">Temat wiadomości</div>
  201. <input id=\"temat\" name=\"temat\" type=\"text\" class=\"pole\" maxlength=\"50\" size=\"15\" />";
  202. break;
  203. case '2':
  204.  echo "<div class=\"slowa\">Temat wiadomości</div>
  205. <select id=\"temat\" name=\"temat\" class=\"pole\" />";
  206. foreach($lista_tematow as $wpis)
  207. {
  208. echo "<option>$wpis</option>";
  209. }
  210. echo "</select>";
  211. break;
  212. }
  213.  
  214. echo "<div class=\"slowa\">Twój e-mail</div>
  215. <input id=\"mail\" name=\"mail\" type=\"text\" class=\"pole\" maxlength=\"50\" size=\"15\" />
  216. <div class=\"slowa\">Treść wiad.</div>
  217. <textarea id=\"tresc\" name=\"tresc\" class=\"pole_txt\"></textarea><br />
  218. <input type=\"submit\" border=\"0\" name=\"send\" border=\"0\" class=\"guzik\" value=\"Wyslij\" />
  219. </form>";
  220.  
  221. }
  222. echo '</div>';
  223. echo "Š Formularz ten stworzył <a href=\"http://www.wojtek.topworld.org/kontakt.php\">WOJTEK</a>! <a href=\"http://www.wojtek.topworld.org/\">Oficjalna strona, download</a>"; // jezeli usuniesz ten napis STRACISZ WSZYTKIE PRAWA DO UZYTOKOWANIA TEGO SKRYPTU 
    ORAZ ZLAMIESZ POSTANOWIENIA LICENCJI!!!!!! JEZELI NIE CHCESZ MIEC TEGO NAPISU SKO
    NTAKTUJ SIE ZE MNA NAPEWNO SIE DOGDAMY BYS NIE MUSIAL GO STOSOWAC
  224. ?>
  225. </td>
  226. </tr>
  227. </table>
  228. </body>
  229. </html>
mateopl
Witam ponownie
Ostatnim razem jak tu pisalem chodzilo mi o to sprawdzanie poprawnosci wypelnienia formularza..
Na pierwszy rzut oka wszystko niby dzialalo lecz do konca tego nie sprawdzilem:(( uzylem tylko 1 przegladarki:(( a tu sie okazuje ze pod nowa opera i pod firefoxem nie wyswietla mi sie ten komunikat ze jakies pola nie zostaly wypelnione:(( operacja przechodzi dalej ze niby wysylal nawet z pustymi czy tez w polowie wypelnionymi polami ale ani pustego maila ani tego komunikatu podczas wysylania nie ma:(( nie wiem o co w tym chodzi:(( jak to naprawic aby dzialalo:((
Bardzo prosze o pomoc:((
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.