Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z polami wymaganymi w formularzu.
Forum PHP.pl > Forum > Przedszkole
adiscan
Mam problem z polami wymaganymi! Tzn nie wiem jak zrobić żeby komunikat o nie wypełnionym polu na tej samej stronie i bez potrzeby wypełniania ponownie formularza.


Poniższy skrypt to robi ale ... widnieje cały czas napis o nie wypełnionym polu i jesli dam wyslij i nie wypełnie pola wymaganego to czyści mi cały formularz ... i nie umie sobie z tym poradzic

I nastepna sprawa to formatowanie tresci samej wiadomosci tzn zmiennej $message tak by były zachowane wszystkie znaki w sensie zeby ENTER był Enterem a nie tak jak jest teraz JEDEN WIELKI CIĄG znakow!

Bede wdzieczny za wszystkie rady.

Wszystko znajduje sie w jednym pliku test2.php tzn formularz w htmlu i mail() w php ...

Do pola wymaganego zastosowałem instr warunkową if ... else

Oj przepraszam za tak rozwalonego posta sad.gif

  1. <?php
  2. if($name=='')
  3. {
  4. echo $error;
  5. }
  6. else
  7. {
  8. wykonaj skrypt
  9. }
  10. ?>


  1. <html>
  2.  
  3. <head>
  4. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  5. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  6. <meta name="ProgId" content="FrontPage.Editor.Document">
  7. <title>Formularz Kontaktowy</title>
  8. </head>
  9.  
  10. <body>
  11.  
  12. <p align="center">
  13. <div align="right">
  14. <form action="http://www.tienspolska.com/ftp/test2.php" name="form" method="post">
  15.  <center>
  16. <table border="0" cellpadding="0" cellspacing="1" width="322" height="533" bgcolor="#EDFCE0" style="border: 0 double #008000">
  17. <tr>
  18. <td width="627" height="30" colspan="4" bordercolor="#00FFFF" bgcolor="#BCE184">
  19. <p align="center"><font color="#FFFFFF"><b>Formularz Kontaktowy</b></font> </td>
  20. </tr>
  21. <tr>
  22. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Imię i 
  23. Nazwisko:     </font> </td>
  24. <td width="759" colspan="3" height="40"> <input type="text" name="name" size="55"></td>
  25. </tr>
  26. <tr>
  27. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Ulica:</font></td>
  28. <td width="418" colspan="3" height="25"> <input type="text" name="ulica" size="55"></td>
  29. </tr>
  30. <tr>
  31. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Nr domu:</font></td>
  32. <td width="137" height="40"> <input type="text" name="numer" size="10"></td>
  33. <td width="198" height="40">
  34. <p align="center"><font face="Arial" size="2">Kod pocztowy:</font></td>
  35. </center>
  36. <td width="424" height="40">
  37. <p align="left"><input type="text" name="kod" size="14"></td>
  38. </tr>
  39. <center>
  40. <tr>
  41. <td width="193" height="26" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Miejscowość: </font> </td>
  42. <td width="759" colspan="3" height="26"> <input type="text" name="miejscowosc" size="55"></td>
  43. </tr>
  44. <tr>
  45. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Twoj Email:</font></td>
  46. <td width="759" colspan="3" height="25"> <input type="text" name="email" size="55"></td>
  47. </tr>
  48. <tr>
  49. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Jak mamy Ci
  50. odpowiedzieć?</font></td>
  51. <td width="759" colspan="3" height="40"> <select size="1" name="select">
  52. <option selected>E-mail zwrotny</option>
  53. <option>Telefonicznie                  
  54. </option>
  55. </select>   <font size="2" face="Arial">  nr tel.  </font><font size="1"> 
  56. </font><input type="text" name="tel" size="12"></td>
  57. </tr>
  58. <tr>
  59. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Temat
  60. wiadomoćci:             </font>
  61. </td>
  62. <td width="759" colspan="3" height="40"> <select size="1" name="subject">
  63. <option selected>Pytanie odnośnie produktów firmy Tiens</option>
  64. <option>Karta Klienta Firmy Tiens - informacje</option>
  65. <option>Zamówienie</option>
  66. <option>Reklamacje</option>
  67. <option>Inny</option>
  68.  
  69. </select></td>
  70. </tr>
  71. <tr>
  72. <td width="193" height="271" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Treść
  73. wiadomoćci:</font></td>
  74. <td width="759" colspan="3" height="271" style="border-top-style: double" bordercolor="#BCE184"><textarea rows="13" name="tresc" cols="50"></textarea></td>
  75. </tr>
  76. <tr>
  77. <td width="902" height="27" colspan="4" align="center" bgcolor="#BCE184">
  78. <input type="submit" value=" Wyślij  " style="border-style: double; border-color: #008000"></td>
  79. <input type="reset" value="reset">
  80. </tr>
  81. </table>
  82. </center>
  83. </div>
  84. <p align="left"> 
  85. <p align="left"> 
  86. <p align="left"><br>
  87. </p>
  88. </form>
  89.  
  90. </body>
  91.  
  92. </html>
  93.  
  94. <?php
  95. header("Content-type: text/html; charset=utf-8");
  96.  
  97.  
  98.  
  99. $name = $_POST['name'];
  100. $ulica = $_POST['ulica'];
  101. $numer = $_POST['numer'];
  102. $kod = $_POST['kod'];
  103. $miejscowosc = $_POST['miejscowosc'];
  104. $email = $_POST['email'];  //email tego kto ma pytanie
  105. $select = $_POST['select'];
  106. $tel = $_POST['tel'];
  107. $tresc = $_POST['tresc'];
  108. $error = "nie wszystkie pola są wypełnione";
  109.  
  110. /////////////////////////////////////////////////////////////
  111.  
  112.  
  113.  
  114.  
  115. if($name=='')
  116. {
  117.  
  118. echo $error;
  119.  
  120. }
  121. else
  122.  
  123. {
  124. //adresaci
  125. $do = " wiadomo ".",";
  126. $do .= " wiadomo ";
  127.  
  128. // temat maila
  129. $subject = $_POST['subject'];
  130.  
  131. // wiadomosc
  132.  
  133. $wiadomosc .= '
  134. <html>
  135. <head>
  136. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  137. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  138. <meta name="ProgId" content="FrontPage.Editor.Document">
  139. <title>Tytuł tej wiadomosci:</title>
  140. </head>
  141.  
  142. <body>
  143.  
  144.  
  145. <div align="left">
  146. <table border="0" cellpadding="0" cellspacing="1" width="528" height="158">
  147. <tr>
  148. <td width="155" height="20" align="left"><b>Imie i Nazwisko:</b></td>
  149. <td width="363" height="20" align="left">'.$name.'</td>
  150. </tr>
  151. <tr>
  152. <td width="155" height="21" align="left"><b>Adres:</b></td>
  153. <td align="left" width="359">'.$ulica.' '.$numer.'</td>
  154. </tr>
  155. <tr>
  156. <td width="155" height="21" align="left"></td>
  157. <td align="left" width="359">'.$kod.' '.$miejscowosc.'</td>
  158. </tr>
  159. <tr>
  160. <td width="155" height="19" align="left"><b>Kotnakt:</b></td>
  161. <td width="359" height="19" align="left">e-mail:  '.$email.'</td>
  162. </tr>
  163. <tr>
  164. <td width="155" height="21" align="left"></td>
  165. <td width="363" height="21" align="left">tel: '.$tel.'</td>
  166. </tr>
  167. <tr>
  168. <td width="155" height="21" align="left"><b>Forma odpowiedzi:</b></td>
  169. <td width="363" height="21" align="left">'.$select.'</td>
  170. </tr>
  171. <tr>
  172. <td width="155" height="21" align="left"><b><font color="#000080">Temat:</font></b></td>
  173. <td width="363" height="21" align="left"><font color="#000080"><b>'.$subject.'</b></font></td>
  174. </tr>
  175. <tr>
  176. <td width="522" height="21" colspan="2" align="left">
  177. <p align="left">--------------------------------------------------------------</td>
  178. </tr>
  179. <tr>
  180. <td width="522" height="21" colspan="2" align="left"><i>'.$tresc.'</i></td>
  181. </tr>
  182. </table>
  183. </div>
  184.  
  185. </body>
  186. </html>
  187.  
  188. ';
  189.  
  190.  
  191. //naglowki:
  192.  
  193. $naglowki = "MIME-Version: 1.0rn";
  194. $naglowki .= "Content-type: text/html; charset=utf-8rn";
  195.  
  196.  
  197. //dodatkowy naglowek
  198.  
  199. $naglowki .= "From: tienspolska.com <adiscann@wp.pl>rn";
  200. //$naglowki .= "Cc: wiadomo rn";
  201. //$naglowki .= "Bcc: wiadomo rn";
  202.  
  203.  
  204. mail ($do,$subject,$wiadomosc,$naglowki);
  205.  
  206. //print_r($_POST);
  207.  
  208. };
  209.  
  210. ?>
Statozor
Źle wysyłasz nagłówki. To raz.
A jeśli chcesz zapamiętywać wartości formularza możesz po prostu wpisywać value = <?php echo $_POST['jakis']; ?> albo dodawać selected jeśli opcje sie zgadzają z wartościa pola w liście
adiscan
A moglbyś dokładniej ?
bo niestety dalej sobie nie moge poradzic...
na zdrowy rozum tego napisu o nie wypełnieniu pola ... nie powinno być po załadowaniu sie formularza. bo dopiero po kliknieciu na SUBBMIT (wyslij) informacje z pól m.inn input powinny być wysyłane. I tegop nie rozumie ...

można tak troszke jasniec co i gdzie?

Żle wysyłam naglowki? tzn? są polskie litery i wszystko jest oki

A co do zapamietywania to ... w ktorym miejscu?
bo troszke nie rozumie
<?php echo $_POST['jakis']; ?>
wyswietla przecierz Wartośc jaka jest w danym polu np <?php echo $_POST['name']; ?> w moim przypadku IMIE I NAZWISKO .

Czyli po załadowaniu sie formularza to pole jest puste i od razu wyswietla komunikat o nie wypełnieniu go ... Nie daje że tak sie wyraże szansy na jego wypełnienie ...
Cienki1980
Z tego co widzę po uruchomieniu skryptu sprawdzasz od razu czy jest wypełnione jakieś pole. Zrób tak, że dopiero ten warunek będzie sprawdzany w przypadku gdy formularz zostanie wysłany.
adiscan
Obecnie jest tak:

http://www.tienspolska.com/ftp/test2.php


  1. <?php
  2. if($wiadomosc=='')
  3. {
  4.  
  5. echo $error;
  6.  
  7. }
  8. else
  9.  
  10. {
  11. mail ($do,$subject,$wiadomosc,$naglowki);
  12.  
  13. //print_r($_POST);
  14.  
  15. };
  16. ?>



Jesli dobrze rozumiem to formularz zostaje wysłany w tym momencie:

mail ($do,$subject,$wiadomosc,$naglowki);

Czyli teraz sprawdzam czy $wiadomosc nie jest pusta?

napawde nie wiem ... sad.gif
Statozor
95 linia
Przenieś to na początek skryptu.
Sprawdzanie czy wartości POSTa są puste zrób dopiero gdy będziesz pewnie że jest on ustawiony
  1. <?php
  2. if(isset($_POST['imie']) {
  3.  //reszta
  4. }
  5. ?>

Wtedy masz pewność że nie wywali Ci błędu. Do tego napisz sobie najlepiej funkcje jakąś bo sprawdzanie takim kodem każdej komórki będzie kodożerne. Pewnie można to zrobić inaczej, takie stopnia zaawansowania nie mam
A jeśli chodzi o pola
  1. <input type="text" name="imie" value="<?php echo $_POST['imie'];?"> />

Jezeli masz ustawioną wartość $_POST['imie'] to Ci ją tam wpisze, jeśli nie będzie puste pole.
adiscan
Zrobiłem cos takiego żeby sprawdzał oczy pole NAME jest uzupelnione i ... nie działa exclamation.gif!!!!

co ja żle robie !
pomożcie prosze bo już nie mam siły ...

plik test2.php



  1. <?php
  2. if (isset($_POST['name']))
  3. {
  4. $poleinput = "<INPUT name="name" value="{$_POST['name']}">";
  5.  
  6. }
  7.  
  8. else
  9. {
  10.  
  11. $poleinput = "<INPUT name='name'>";
  12.  
  13. }
  14.  
  15.  
  16. ?>
  17.  
  18.  
  19. <html>
  20. <head>
  21. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  22. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  23. <meta name="ProgId" content="FrontPage.Editor.Document">
  24. <title>Formularz Kontaktowy</title>
  25. </head>
  26.  
  27. <body>
  28.  
  29. <p align="center">
  30. <div align="right">
  31. <form action="http://www.tienspolska.com/ftp/test2.php" name="form" method="post">
  32.  <center>
  33. <table border="0" cellpadding="0" cellspacing="1" width="322" height="533" bgcolor="#EDFCE0" style="border: 0 double #008000">
  34. <tr>
  35. <td width="627" height="30" colspan="4" bordercolor="#00FFFF" bgcolor="#BCE184">
  36. <p align="center"><font color="#FFFFFF"><b>Formularz Kontaktowy</b></font> </td>
  37. </tr>
  38. <tr>
  39. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Imię i&nbsp;
  40. Nazwisko:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font> </td>
  41. <td width="759" colspan="3" height="40">&nbsp;<?php echo $poleinput; ?> </td>
  42. </tr>
  43. <tr>
  44. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Ulica:</font></td>
  45. <td width="418" colspan="3" height="25">&nbsp;<input type="text" name="ulica" size="55"></td>
  46. </tr>
  47. <tr>
  48. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Nr domu:</font></td>
  49. <td width="137" height="40">&nbsp;<input type="num" name="numer" size="10" ></td>
  50. <td width="198" height="40">
  51. <p align="center"><font face="Arial" size="2">Kod pocztowy:</font></td>
  52. </center>
  53. <td width="424" height="40">
  54. <p align="left"><input type="text" name="kod" size="14"></td>
  55. </tr>
  56. <center>
  57. <tr>
  58. <td width="193" height="26" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Miejscowość:&nbsp;</font> </td>
  59. <td width="759" colspan="3" height="26">&nbsp;<input type="text" name="miejscowosc" size="55"></td>
  60. </tr>
  61. <tr>
  62. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Twoj Email:</font></td>
  63. <td width="759" colspan="3" height="25">&nbsp;<input type="text" name="email" size="55"></td>
  64. </tr>
  65. <tr>
  66. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Jak mamy Ci
  67. odpowiedzieć?</font></td>
  68. <td width="759" colspan="3" height="40">&nbsp;<select size="1" name="select">
  69. <option selected>E-mail zwrotny</option>
  70. <option>Telefonicznie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  71. </option>
  72. </select>&nbsp;&nbsp;&nbsp;<font size="2" face="Arial">&nbsp; nr tel.&nbsp;&nbsp;</font><font size="1">&nbsp;
  73. </font><input type="text" name="tel" size="12"></td>
  74. </tr>
  75. <tr>
  76. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Temat
  77. wiadomoćci: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>
  78. </td>
  79. <td width="759" colspan="3" height="40">&nbsp;<select size="1" name="subject">
  80. <option selected>Pytanie odnośnie produktów firmy Tiens</option>
  81. <option>Karta Klienta Firmy Tiens - informacje</option>
  82. <option>Zamówienie</option>
  83. <option>Reklamacje</option>
  84. <option>Inny</option>
  85.  
  86. </select></td>
  87. </tr>
  88. <tr>
  89. <td width="193" height="271" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Treść
  90. wiadomoćci:</font></td>
  91. <td width="759" colspan="3" height="271" style="border-top-style: double" bordercolor="#BCE184"><textarea rows="13" name="tresc" cols="50"></textarea></td>
  92. </tr>
  93. <tr>
  94. <td width="902" height="27" colspan="4" align="center" bgcolor="#BCE184">
  95. <input type="submit" value=" Wyślij  " style="border-style: double; border-color: #008000"></td>
  96. <input type="reset" value="reset">
  97. </tr>
  98. </table>
  99. </center>
  100. </div>
  101. <p align="left">&nbsp;
  102. <p align="left">&nbsp;
  103. <p align="left"><br>
  104. </p>
  105. </form>
  106.  
  107. </body>
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. <?php
  116. header("Content-type: text/html; charset=utf-8");
  117.  
  118.  
  119.  
  120. $name = $_POST['name'];
  121. $ulica = $_POST['ulica'];
  122. $numer = $_POST['numer'];
  123. $kod = $_POST['kod'];
  124. $miejscowosc = $_POST['miejscowosc'];
  125. $email = $_POST['email'];  //email tego kto ma pytanie
  126. $select = $_POST['select'];
  127. $tel = $_POST['tel'];
  128. $tresc = $_POST['tresc'];
  129. $error = "nie wszystkie pola są wypełnione";
  130.  
  131. /////////////////////////////////////////////////////////////
  132.  
  133.  
  134.  
  135.  
  136. //adresaci
  137. $do = " adiscann@wp.pl ".",";
  138. $do .= " adiscann@wp.pl ";
  139.  
  140. // temat maila
  141. $subject = $_POST['subject'];
  142.  
  143. // wiadomosc
  144.  
  145.  
  146.  
  147. $wiadomosc .= '
  148. <html>
  149. <head>
  150. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  151. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  152. <meta name="ProgId" content="FrontPage.Editor.Document">
  153. <title>Tytuł tej wiadomosci:</title>
  154. </head>
  155.  
  156. <body>
  157.  
  158.  
  159. <div align="left">
  160. <table border="0" cellpadding="0" cellspacing="1" width="528" height="158">
  161. <tr>
  162. <td width="155" height="20" align="left"><b>Imie i Nazwisko:</b></td>
  163. <td width="363" height="20" align="left">'.$name.'</td>
  164. </tr>
  165. <tr>
  166. <td width="155" height="21" align="left"><b>Adres:</b></td>
  167. <td align="left" width="359">'.$ulica.' '.$numer.'</td>
  168. </tr>
  169. <tr>
  170. <td width="155" height="21" align="left"></td>
  171. <td align="left" width="359">'.$kod.' '.$miejscowosc.'</td>
  172. </tr>
  173. <tr>
  174. <td width="155" height="19" align="left"><b>Kotnakt:</b></td>
  175. <td width="359" height="19" align="left">e-mail:&nbsp; '.$email.'</td>
  176. </tr>
  177. <tr>
  178. <td width="155" height="21" align="left"></td>
  179. <td width="363" height="21" align="left">tel: '.$tel.'</td>
  180. </tr>
  181. <tr>
  182. <td width="155" height="21" align="left"><b>Forma odpowiedzi:</b></td>
  183. <td width="363" height="21" align="left">'.$select.'</td>
  184. </tr>
  185. <tr>
  186. <td width="155" height="21" align="left"><b><font color="#000080">Temat:</font></b></td>
  187. <td width="363" height="21" align="left"><font color="#000080"><b>'.$subject.'</b></font></td>
  188. </tr>
  189. <tr>
  190. <td width="522" height="21" colspan="2" align="left">
  191. <p align="left">--------------------------------------------------------------</td>
  192. </tr>
  193. <tr>
  194. <td width="522" height="21" colspan="2" align="left"><i>'.$tresc.'</i></td>
  195. </tr>
  196. </table>
  197. </div>
  198.  
  199. </body>
  200. </html>
  201.  
  202. ';
  203.  
  204.  
  205. //naglowki:
  206.  
  207. $naglowki = "MIME-Version: 1.0rn";
  208. $naglowki .= "Content-type: text/html; charset=utf-8rn";
  209.  
  210.  
  211. //dodatkowy naglowek
  212.  
  213. $naglowki .= "From: tienspolska.com <adiscann@wp.pl>rn";
  214. //$naglowki .= "Cc: wiadomo rn";
  215. //$naglowki .= "Bcc: wiadomo rn";
  216.  
  217.  
  218. mail ($do,$subject,$wiadomosc,$naglowki);
  219.  
  220.  
  221.  
  222. //print_r($_POST);
  223.  
  224.  
  225. ?>
Statozor
Przypatrz się temu uważnie. Co masz w tej zmiennej i czy ją wyświetlasz ? winksmiley.jpg
Powinno działac
  1. <html>
  2. <head>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  4. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  5. <meta name="ProgId" content="FrontPage.Editor.Document">
  6. <title>Formularz Kontaktowy</title>
  7. </head>
  8.  
  9. <body>
  10.  
  11. <p align="center">
  12. <div align="right">
  13. <form action="Untitled.php" name="form" method="post">
  14.  <center>
  15. <table border="0" cellpadding="0" cellspacing="1" width="322" height="533" bgcolor="#EDFCE0" style="border: 0 double #008000">
  16. <tr>
  17. <td width="627" height="30" colspan="4" bordercolor="#00FFFF" bgcolor="#BCE184">
  18. <p align="center"><font color="#FFFFFF"><b>Formularz Kontaktowy</b></font> </td>
  19. </tr>
  20. <tr>
  21. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Imię i 
  22. Nazwisko:  </font> </td>
  23. <td width="759" colspan="3" height="40"> <input type="text" name="name" size="55" value="<?php echo $_POST['name']; ?>"></td>
  24. </tr>
  25. <tr>
  26. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Ulica:</font></td>
  27. <td width="418" colspan="3" height="25"> <input type="text" name="ulica" value="<?php echo $_POST['ulica']; ?>" size="55"></td>
  28. </tr>
  29. <tr>
  30. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Nr domu:</font></td>
  31. <td width="137" height="40"> <input type="text" name="numer" size="10" value="<?php echo $_POST['numer']; ?>"></td>
  32. <td width="198" height="40">
  33. <p align="center"><font face="Arial" size="2">Kod pocztowy:</font></td>
  34. </center>
  35. <td width="424" height="40">
  36. <p align="left"><input type="text" name="kod" size="14" value="<?php echo $_POST['kod']; ?>"></td>
  37. </tr>
  38. <center>
  39. <tr>
  40. <td width="193" height="26" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Miejscowość: </font> </td>
  41. <td width="759" colspan="3" height="26"> <input type="text" name="miejscowosc" value="<?php echo $_POST['miejscowosc']; ?>" size="55"></td>
  42. </tr>
  43. <tr>
  44. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Twoj Email:</font></td>
  45. <td width="759" colspan="3" height="25"> <input type="text" name="email" size="55" value="<?php echo $_POST['email']; ?>"></td>
  46. </tr>
  47. <tr>
  48. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Jak mamy Ci
  49. odpowiedzieć?</font></td>
  50. <td width="759" colspan="3" height="40"> <select size="1" name="select">
  51. <option selected>E-mail zwrotny</option>
  52. <option>Telefonicznie
  53. </option>
  54. </select>  <font size="2" face="Arial"> nr tel. </font><font size="1"> 
  55. </font><input type="text" name="tel" size="12"></td>
  56. </tr>
  57. <tr>
  58. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Temat
  59. wiadomoćci:  </font>
  60. </td>
  61. <td width="759" colspan="3" height="40"> <select size="1" name="subject">
  62. <option selected>Pytanie odnośnie produktów firmy Tiens</option>
  63. <option>Karta Klienta Firmy Tiens - informacje</option>
  64. <option>Zamówienie</option>
  65. <option>Reklamacje</option>
  66. <option>Inny</option>
  67.  
  68. </select></td>
  69. </tr>
  70. <tr>
  71. <td width="193" height="271" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Treść
  72. wiadomoćci:</font></td>
  73. <td width="759" colspan="3" height="271" style="border-top-style: double" bordercolor="#BCE184"><textarea rows="13" name="tresc" cols="50"><?php echo $_POST['tresc']; ?></textarea></td>
  74. </tr>
  75. <tr>
  76. <td width="902" height="27" colspan="4" align="center" bgcolor="#BCE184">
  77. <input type="submit" value=" Wyślij  " style="border-style: double; border-color: #008000" name='submit'></td>
  78. <input type="reset" value="reset">
  79. </tr>
  80. </table>
  81. </center>
  82. </div>
  83. <p align="left"> 
  84. <p align="left"> 
  85. <p align="left"><br>
  86. </p>
  87. </form>
  88.  
  89. </body>
  90.  
  91. </html>
  92.  
  93. <?php
  94.  
  95. function check_array($array) {
  96. foreach($array as $key => $value) {
  97.  if(empty($value)) {
  98. return FALSE;
  99.  }
  100. }
  101. return TRUE;
  102. }
  103. $name = $_POST['name'];
  104. $ulica = $_POST['ulica'];
  105. $numer = $_POST['numer'];
  106. $kod = $_POST['kod'];
  107. $miejscowosc = $_POST['miejscowosc'];
  108. $email = $_POST['email'];  //email tego kto ma pytanie
  109. $select = $_POST['select'];
  110. $tel = $_POST['tel'];
  111. $tresc = $_POST['tresc'];
  112.  
  113. /////////////////////////////////////////////////////////////
  114.  
  115.  
  116. if (isset($_POST['submit'])) {
  117. if(!check_array($_POST))
  118. {
  119.  echo $error;
  120.  
  121. }
  122. else
  123.  
  124. {
  125. //adresaci
  126. $do = " wiadomo ".",";
  127. $do .= " wiadomo ";
  128.  
  129. // temat maila
  130. $subject = $_POST['subject'];
  131.  
  132. // wiadomosc
  133.  
  134. $wiadomosc .= '
  135. <html>
  136. <head>
  137. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  138. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  139. <meta name="ProgId" content="FrontPage.Editor.Document">
  140. <title>Tytuł tej wiadomosci:</title>
  141. </head>
  142.  
  143. <body>
  144.  
  145.  
  146. <div align="left">
  147. <table border="0" cellpadding="0" cellspacing="1" width="528" height="158">
  148. <tr>
  149. <td width="155" height="20" align="left"><b>Imie i Nazwisko:</b></td>
  150. <td width="363" height="20" align="left">'.$name.'</td>
  151. </tr>
  152. <tr>
  153. <td width="155" height="21" align="left"><b>Adres:</b></td>
  154. <td align="left" width="359">'.$ulica.' '.$numer.'</td>
  155. </tr>
  156. <tr>
  157. <td width="155" height="21" align="left"></td>
  158. <td align="left" width="359">'.$kod.' '.$miejscowosc.'</td>
  159. </tr>
  160. <tr>
  161. <td width="155" height="19" align="left"><b>Kotnakt:</b></td>
  162. <td width="359" height="19" align="left">e-mail: '.$email.'</td>
  163. </tr>
  164. <tr>
  165. <td width="155" height="21" align="left"></td>
  166. <td width="363" height="21" align="left">tel: '.$tel.'</td>
  167. </tr>
  168. <tr>
  169. <td width="155" height="21" align="left"><b>Forma odpowiedzi:</b></td>
  170. <td width="363" height="21" align="left">'.$select.'</td>
  171. </tr>
  172. <tr>
  173. <td width="155" height="21" align="left"><b><font color="#000080">Temat:</font></b></td>
  174. <td width="363" height="21" align="left"><font color="#000080"><b>'.$subject.'</b></font></td>
  175. </tr>
  176. <tr>
  177. <td width="522" height="21" colspan="2" align="left">
  178. <p align="left">--------------------------------------------------------------</td>
  179. </tr>
  180. <tr>
  181. <td width="522" height="21" colspan="2" align="left"><i>'.$tresc.'</i></td>
  182. </tr>
  183. </table>
  184. </div>
  185.  
  186. </body>
  187. </html>
  188.  
  189. ';
  190.  
  191.  
  192. //naglowki:
  193.  
  194. $naglowki = "MIME-Version: 1.0rn";
  195. $naglowki .= "Content-type: text/html; charset=utf-8rn";
  196.  
  197.  
  198. //dodatkowy naglowek
  199.  
  200. $naglowki .= "From: tienspolska.com <adiscann@wp.pl>rn";
  201. //$naglowki .= "Cc: wiadomo rn";
  202. //$naglowki .= "Bcc: wiadomo rn";
  203.  
  204.  
  205. mail ($do,$subject,$wiadomosc,$naglowki);
  206.  
  207.  
  208.  
  209. }
  210. }
  211. print_r($_POST);
  212. ?>
adiscan
Skopiowałem to wszystko i dalej nie wyskakuje napis jesli jest pole nie wypełnione sad.gif

http://www.tienspolska.com/ftp/ddd.php
Neeke
ahhh jak wpisalem wszystkie dane oprucz nr... tel i wyslalem moim oczom ukazało sie



Array ( [name] => c c vbzd [ulica] => z bdf dzf f [numer] => 54 [kod] => 3543 [miejscowosc] => dfhzsdfhHzdfhzd [email] => dfzhzdfhfdz@asbza.pl [select] => E-mail zwrotny [tel] => [subject] => Pytanie odnośnie produktów firmy Tiens [tresc] => cxB BcxzbzbZCBBBdSBDSBdsBC [submit] => Wyślij
)
jezeli chciał bys by sprawdzalo pole czy jest puste to moze warto by sie zastanowic nad if-em np.
  1. <?php
  2. if( $costam<>'')
  3.  
  4. { 
  5.  
  6. // intrukcja dzialajaca 
  7.  
  8. }else{
  9.  
  10. echo ' musisz podac imie i nazwisko';
  11.  
  12. }
  13. ?>
jak nieoto chodzi to wybaczcie zaduzo tego by sie wczytywac w te skrypty...
Statozor
Wskaż mi co jest złego w tej funkcji
  1. <?php
  2. function check_array($array) {
  3. foreach($array as $key => $value) {
  4.  if(empty($value)) {
  5. return FALSE;
  6.  }
  7. }
  8. return TRUE;
  9. }
  10. ?>

Na localhost wszystko działa mi dobrze.
Jeżeli nie chcesz widzieć zawartości POSTa skomentuj odpowiednią linię
U mnie nawet napis nie wyskakiwał bo usunął przypadkiem zmienną z jego zawartością.
Powiedz które pola mają być wypełnione, a które nie to sie zmodyfikuje funkcje.
Jeżeli chcesz działać ifem na tej ilości zmiennych powodzenia.
adiscan
Pola wymagane:
Praktycznie wszystkie! W sumie to nawet żeby jedno działało! z resztą sobie poradze!

Statozor mi chodzi o to żeby na tej samej stonie wyskakiwał napis o nie wypełnionym jakims polu! Jesli zrobie ifem wszystko mi działa tylko przenosi mnie do nowej strony i wtedy musze mieć 2 pliki!
HTML i osobno PHP

A tak nie chce...

To że wyświetla mi wartość POSTA to pryszcz
//print_r($_POST); i po sprawie.

Tu znajdziesz dokładny plik PHP z Twoim kodem! Może ja znowu coś spieprzyłem ale nie wydaje mi sie ...

TU ZNAJDZIESZ SKRYPT
Neeke
niezrozumialem mysl;alem ze tu chodzi tylko o wymagane jedno pole

i wtedy mozna by bylo ifa ale przy tak duzych ilosciach niema co bo to by bylo zarzzniecie samego siebie i sterwera...
phpion
Poniżej masz działającą walidację dla pól 'name' oraz 'ulica'. Ewentualne błędy wpisujesz do tablicy $errors po czym (w formularzu) wyświetlasz je (o ile są) za pomocą funkcji showError:
  1. <?php showError('name'); ?>

gdzie jako parametr funkcji podajesz index pola formularza będący równocześnie indexem w tablicy $errors.
  1. <?php
  2.  
  3. function showError($errorId) {
  4. global $errors;
  5.  
  6. if (isset($errors[$errorId])) {
  7. echo '<br /><span style="color: red;">'.$errors[$errorId].'</font>';
  8. }
  9. }
  10.  
  11. $errors = array();
  12.  
  13. if (isset($_POST['submit'])) { // jesli wyslano formularz
  14. if (strlen($_POST['name']) < 1) {
  15. $errors['name'] = 'Wpisz swoje imie';
  16. }
  17.  
  18. if (strlen($_POST['ulica']) < 1) {
  19. $errors['ulica'] = 'Wpisz ulice';
  20. }
  21.  
  22. // itd.
  23.  
  24. if (count($errors) == 0) { // wszystko OK - nie ma bledow
  25. //adresaci
  26. $do = " adiscann@wp.pl ".",";
  27. $do .= " adiscann@wp.pl ";
  28.  
  29. // temat maila
  30. $subject = $_POST['subject'];
  31.  
  32. // wiadomosc
  33.  
  34. $wiadomosc .= '
  35. <html>
  36. <head>
  37. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  38. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  39. <meta name="ProgId" content="FrontPage.Editor.Document">
  40. <title>Tytuł tej wiadomosci:</title>
  41. </head>
  42.  
  43. <body>
  44.  
  45.  
  46. <div align="left">
  47. <table border="0" cellpadding="0" cellspacing="1" width="528" height="158">
  48. <tr>
  49. <td width="155" height="20" align="left"><b>Imie i Nazwisko:</b></td>
  50. <td width="363" height="20" align="left">'.$name.'</td>
  51. </tr>
  52. <tr>
  53. <td width="155" height="21" align="left"><b>Adres:</b></td>
  54. <td align="left" width="359">'.$ulica.' '.$numer.'</td>
  55. </tr>
  56. <tr>
  57. <td width="155" height="21" align="left"></td>
  58. <td align="left" width="359">'.$kod.' '.$miejscowosc.'</td>
  59. </tr>
  60. <tr>
  61. <td width="155" height="19" align="left"><b>Kotnakt:</b></td>
  62. <td width="359" height="19" align="left">e-mail: '.$email.'</td>
  63. </tr>
  64. <tr>
  65. <td width="155" height="21" align="left"></td>
  66. <td width="363" height="21" align="left">tel: '.$tel.'</td>
  67. </tr>
  68. <tr>
  69. <td width="155" height="21" align="left"><b>Forma odpowiedzi:</b></td>
  70. <td width="363" height="21" align="left">'.$select.'</td>
  71. </tr>
  72. <tr>
  73. <td width="155" height="21" align="left"><b><font color="#000080">Temat:</font></b></td>
  74. <td width="363" height="21" align="left"><font color="#000080"><b>'.$subject.'</b></font></td>
  75. </tr>
  76. <tr>
  77. <td width="522" height="21" colspan="2" align="left">
  78. <p align="left">--------------------------------------------------------------</td>
  79. </tr>
  80. <tr>
  81. <td width="522" height="21" colspan="2" align="left"><i>'.$tresc.'</i></td>
  82. </tr>
  83. </table>
  84. </div>
  85.  
  86. </body>
  87. </html>
  88.  
  89. ';
  90.  
  91.  
  92. //naglowki:
  93.  
  94. $naglowki = "MIME-Version: 1.0rn";
  95. $naglowki .= "Content-type: text/html; charset=utf-8rn";
  96.  
  97.  
  98. //dodatkowy naglowek
  99.  
  100. $naglowki .= "From: tienspolska.com <adiscann@wp.pl>rn";
  101. //$naglowki .= "Cc: wiadomo rn";
  102. //$naglowki .= "Bcc: wiadomo rn";
  103.  
  104.  
  105. mail ($do,$subject,$wiadomosc,$naglowki); // po tym mozesz przekierować na jakas stronke z info 'Dziekujemy za wyslanie maila'
  106. }
  107. }
  108. ?>
  109. <html>
  110. <head>
  111. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  112. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  113. <meta name="ProgId" content="FrontPage.Editor.Document">
  114. <title>Formularz Kontaktowy</title>
  115. </head>
  116.  
  117. <body>
  118.  
  119. <p align="center">
  120. <div align="right">
  121. <form action="" name="form" method="post">
  122.  <center>
  123. <table border="0" cellpadding="0" cellspacing="1" width="322" height="533" bgcolor="#EDFCE0" style="border: 0 double #008000">
  124. <tr>
  125. <td width="627" height="30" colspan="4" bordercolor="#00FFFF" bgcolor="#BCE184">
  126. <p align="center"><font color="#FFFFFF"><b>Formularz Kontaktowy</b></font> </td>
  127. </tr>
  128. <tr>
  129. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Imię i 
  130. Nazwisko:  </font> </td>
  131. <td width="759" colspan="3" height="40"> <input type="text" name="name" size="55" value="<?php echo $_POST['name']; ?>"><?php showError('name'); ?></td>
  132. </tr>
  133. <tr>
  134. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Ulica:</font></td>
  135. <td width="418" colspan="3" height="25"> <input type="text" name="ulica" value="<?php echo $_POST['ulica']; ?>" size="55"><?php showError('ulica'); ?></td>
  136. </tr>
  137. <tr>
  138. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Nr domu:</font></td>
  139. <td width="137" height="40"> <input type="text" name="numer" size="10" value="<?php echo $_POST['numer']; ?>"></td>
  140. <td width="198" height="40">
  141. <p align="center"><font face="Arial" size="2">Kod pocztowy:</font></td>
  142. </center>
  143. <td width="424" height="40">
  144. <p align="left"><input type="text" name="kod" size="14" value="<?php echo $_POST['kod']; ?>"></td>
  145. </tr>
  146. <center>
  147. <tr>
  148. <td width="193" height="26" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Miejscowość: </font> </td>
  149. <td width="759" colspan="3" height="26"> <input type="text" name="miejscowosc" value="<?php echo $_POST['miejscowosc']; ?>" size="55"></td>
  150. </tr>
  151. <tr>
  152. <td width="193" height="25" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Twoj Email:</font></td>
  153. <td width="759" colspan="3" height="25"> <input type="text" name="email" size="55" value="<?php echo $_POST['email']; ?>"></td>
  154. </tr>
  155. <tr>
  156. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Jak mamy Ci
  157. odpowiedzieć?</font></td>
  158. <td width="759" colspan="3" height="40"> <select size="1" name="select">
  159. <option selected>E-mail zwrotny</option>
  160. <option>Telefonicznie
  161. </option>
  162. </select>  <font size="2" face="Arial"> nr tel. </font><font size="1"> 
  163. </font><input type="text" name="tel" size="12"></td>
  164. </tr>
  165. <tr>
  166. <td width="193" height="40" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Temat
  167. wiadomoćci:  </font>
  168. </td>
  169. <td width="759" colspan="3" height="40"> <select size="1" name="subject">
  170. <option selected>Pytanie odnośnie produktów firmy Tiens</option>
  171. <option>Karta Klienta Firmy Tiens - informacje</option>
  172. <option>Zamówienie</option>
  173. <option>Reklamacje</option>
  174. <option>Inny</option>
  175.  
  176. </select></td>
  177. </tr>
  178. <tr>
  179. <td width="193" height="271" style="border-right-style: double" bordercolor="#BCE184" bordercolorlight="#EDFCE0" bordercolordark="#BCE184"><font size="2" face="Arial">Treść
  180. wiadomoćci:</font></td>
  181. <td width="759" colspan="3" height="271" style="border-top-style: double" bordercolor="#BCE184"><textarea rows="13" name="tresc" cols="50"><?php echo $_POST['tresc']; ?></textarea></td>
  182. </tr>
  183. <tr>
  184. <td width="902" height="27" colspan="4" align="center" bgcolor="#BCE184">
  185. <input type="submit" value=" Wyślij  " style="border-style: double; border-color: #008000" name="submit"></td>
  186. <input type="reset" value="reset">
  187. </tr>
  188. </table>
  189. </center>
  190. </div>
  191. <p align="left"> 
  192. <p align="left"> 
  193. <p align="left"><br>
  194. </p>
  195. </form>
  196.  
  197. </body>
  198.  
  199. </html>
Statozor
Jeżeli chcesz aby pokazywało co jest niewypełnione to zmienia postać rzeczy. No cóż dopiero przyszedłem ze szkoły, wykorzystaj pomysł phpion.com
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.