Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] formularz mail - ...
Forum PHP.pl > Forum > Przedszkole
chotek
Witam,

Mam formularz, wszystko ladnie pieknie, oszukalem sie na wielu serwisach, forach itp. zwlaszcza tu...
i nic!

Nie mam pojecia co dokleic do tego formularza, zeby zalaczal pliki... :/ probowalem roznych rzeczy i nic.

Pomozecie?

Z gory dzieki wielkie.

  1. <?
  2. $mailto="mail@jakas_domena.pl";
  3.  
  4. $wiadomosc_wyslana='<CENTER><DIV class="monit">Dziękujemy, wiadomo&para;ć zostało przesłana.<BR></DIV></CENTER><BR><BR><BR>';
  5.  
  6. // błedny e-mail
  7. $bledny_email='<CENTER><DIV class="monit">Podany e-mail jest nieprawidłowy!</DIV><BR><INPUT type="button" onClick="history.back()" value="<< Wstecz" class="form_przycisk"></CENTER><BR><BR><BR>';
  8.  
  9. // je&para;li nie wypełniono wszystkich pola
  10. $puste_pole='<CENTER><DIV class="monit">Nie wypełniono wszystkich wymaganych pól.</DIV><BR><INPUT type="button" onClick="history.back()" value="<< Wstecz" class="form_przycisk"></CENTER><BR><BR><BR>';
  11.  
  12. //==============================================
  13. // tutaj okre&para;lasz wymagane pola w formularzu
  14. $wymagane_ImieNazwisko="tak"; // Imie i Nazwisko
  15. $wymagane_AdresEmail="tak";
  16. $wymagane_Telefon="tak";
  17. $wymagane_Adres="tak";
  18. $wymagane_Komentarz="";
  19. $wymagane_zdjecie1_cat="tak";
  20. $wymagane_zdjecie1="tak";
  21. $wymagane_zdjecie2_cat="";
  22. $wymagane_zdjecie2="";
  23. $wymagane_zdjecie3_cat="";
  24. $wymagane_zdjecie3="";
  25. //==============================================
  26.  
  27. // formularz na strnoie
  28. $formularz='<form name="form1" ACTION="internetowa.php" METHOD="post" width: 500px>
  29. <table border="0" cellspacing="0" cellpadding="2" width="500px">
  30.  <tr>
  31. <td align="left" class="txt">Imię i Nazwisko:</td>
  32. </tr>
  33. <tr>
  34. <td><input type="text" name="ImieNazwisko" maxlength="100" size="35" class="form"></td>
  35.  </tr>
  36.  <tr>
  37. <td align="left" class="txt">Adres e-mail:</td>
  38. </tr>
  39. <tr>
  40. <td><input type="text" name="AdresEmail" maxlength="40" size="35" class="form"></td>
  41.  </tr>
  42.  <tr>
  43. <td align="left" class="txt">Telefon:</td>
  44. </tr>
  45. <tr>
  46. <td><input type="text" name="Telefon" maxlength="40" size="35" class="form"></td>
  47.  </tr>
  48. <tr>
  49.  <td align="left" class="txt" valign="top">Adres:</td>
  50. </tr>
  51. <tr>
  52.  <td valign="top"><TEXTAREA class="form" cols="34" rows="5" name="Adres"></TEXTAREA></td>
  53.  </tr>
  54.  <tr>
  55.  <td align="left" class="txt" valign="top">Komentarz:</td>
  56. </tr>
  57. <tr>
  58.  <td valign="top"><TEXTAREA class="form" cols="34" rows="5" name="Komentarz"></TEXTAREA></td>
  59.  </tr>
  60.  <tr>
  61. <td>...</td>
  62.  </tr>
  63.  <tr>
  64. <td>
  65. 1. <select name="zdjecie1_cat">
  66. <OPTION value="brak" selected>--wybierz kategorię--</option>
  67. <option value="portret">portret</option>
  68. <option value="pejzaż">pejzaż</option>
  69. (...)
  70. <option value="kategoria - inne">kategoria "inne"</option>
  71. </select>
  72. <input type="file" name="zdjecie1" class="post" style="width:250px">
  73. </td>
  74.  </tr>
  75.  <tr>
  76. <td>
  77. 2. <select name="zdjecie2_cat">
  78. <OPTION value="brak" selected>--wybierz kategorię--</option>
  79. <option value="portret">portret</option>
  80. (...)
  81. </select>
  82. <input type="file" name="zdjecie2" class="post" style="width:250px">
  83. </td>
  84.  </tr>
  85.  <tr>
  86. <td>
  87. 3. <select name="zdjecie3_cat">
  88. <OPTION value="brak" selected>--wybierz kategorię--</option>
  89. <option value="portret">portret</option>
  90. <option value="pejzaż">pejzaż</option>
  91. (...)
  92. </select>
  93. <input type="file" name="zdjecie3" class="post" style="width:250px">
  94. </td>
  95.  </tr>
  96.  <tr>
  97. <td><br><center><INPUT TYPE="hidden" Name="wyslij" VALUE="tak">
  98. <input type="submit" name="Submit" value="Wy&para;lij" class="form_przycisk"></td>
  99.  </tr>
  100. </table>
  101. </form>';
  102.  
  103. // je&para;li pada z formularza polecenie wysłania wiadomo&para;ci to wykonuje poniższy kod
  104. if ($wyslij=="tak")
  105. {
  106. // ===== definiuj funkcjie ==============
  107. // wycinam z pól konkretne znaki tak aby nie możan było w nich zastosować php ani 
    html ani nie było w nich pustych znaków
  108. function sprawdz_pole_formularza ($zmienna_z_pola_formularza)
  109. {
  110. $zmienna_z_pola_formularza=trim ($zmienna_z_pola_formularza);
  111. $zmienna_z_pola_formularza=str_replace(""","",$zmienna_z_pola_formularza);
  112. $zmienna_z_pola_formularza=str_replace("[","",$zmienna_z_pola_formularza);
  113. $zmienna_z_pola_formularza=str_replace("]","",$zmienna_z_pola_formularza);
  114. $zmienna_z_pola_formularza=str_replace("{","",$zmienna_z_pola_formularza);
  115. $zmienna_z_pola_formularza=str_replace("}","",$zmienna_z_pola_formularza);
  116. $zmienna_z_pola_formularza=str_replace("$","",$zmienna_z_pola_formularza);
  117. $zmienna_z_pola_formularza=str_replace("n","",$zmienna_z_pola_formularza);
  118. $zmienna_z_pola_formularza=str_replace("?","",$zmienna_z_pola_formularza);
  119. $zmienna_z_pola_formularza=str_replace("<","&lt;",$zmienna_z_pola_formularza);
  120. $zmienna_z_pola_formularza=str_replace(">","&gt;",$zmienna_z_pola_formularza);
  121.  
  122. return $zmienna_z_pola_formularza;
  123. }
  124. //usówam polskie znaki z tytułu żeby ne pojawiały się błedy w ich wyswietlaniu
  125. function zamien_polskie_litery ($zmienna_z_pola_formularza) 
  126. {
  127. $zmienna_z_pola_formularza=str_replace("ˇ","A",$zmienna_z_pola_formularza);
  128. $zmienna_z_pola_formularza=str_replace("&plusmn;","a",$zmienna_z_pola_formularza);
  129. $zmienna_z_pola_formularza=str_replace("Ć","C",$zmienna_z_pola_formularza);
  130. $zmienna_z_pola_formularza=str_replace("ć","c",$zmienna_z_pola_formularza);
  131. $zmienna_z_pola_formularza=str_replace("Ę","E",$zmienna_z_pola_formularza);
  132. // itd
  133.  
  134. return $zmienna_z_pola_formularza;
  135. }
  136.  
  137. function sprawdz_tresc_wiadomosci ($zmienna_z_pola_formularza) 
  138. {
  139. $zmienna_z_pola_formularza=str_replace(""","&quot;",$zmienna_z_pola_formularza);
  140. $zmienna_z_pola_formularzasci=str_replace("","",$zmienna_z_pola_formularza);
  141. $zmienna_z_pola_formularza=str_replace("[","",$zmienna_z_pola_formularza);
  142. $zmienna_z_pola_formularza=str_replace("]","",$zmienna_z_pola_formularza);
  143. $zmienna_z_pola_formularza=str_replace("{","",$zmienna_z_pola_formularza);
  144. $zmienna_z_pola_formularza=str_replace("}","",$zmienna_z_pola_formularza);
  145. $zmienna_z_pola_formularza=str_replace("<","&lt;",$zmienna_z_pola_formularza);
  146. $zmienna_z_pola_formularza=str_replace(">","&gt;",$zmienna_z_pola_formularza);
  147.  
  148. return $zmienna_z_pola_formularza;
  149. }
  150.  
  151. function wymagane_pole ($wymagane_tak,$pole)
  152. { 
  153. if ($wymagane_tak!="tak") 
  154. { if ($pole=="") { $pole="brak"; } }
  155. return $pole;
  156. }
  157. //========== koniec defiincji funkcji =============
  158.  
  159.  
  160. $ImieNazwisko = sprawdz_pole_formularza ($ImieNazwisko);
  161. $ImieNazwisko = wymagane_pole ($wymagane_ImieNazwisko,$ImieNazwisko);
  162.  
  163. $AdresEmail = sprawdz_pole_formularza ($AdresEmail);
  164. $AdresEmail = wymagane_pole ($wymagane_AdresEmail,$AdresEmail);
  165.  
  166. $Telefon = zamien_polskie_litery ($Telefon);
  167. $Telefon = wymagane_pole ($wymagane_Telefon,$Telefon);
  168.  
  169. $Adres = zamien_polskie_litery ($Adres);
  170. $Adres = wymagane_pole ($wymagane_Adres,$Adres);
  171.  
  172. $Komentarz = zamien_polskie_litery ($Komentarz);
  173. $Komentarz = wymagane_pole ($wymagane_Komentarz,$Komentarz);
  174.  
  175. $zdjecie1_cat = zamien_polskie_litery ($zdjecie1_cat);
  176. $zdjecie1_cat = wymagane_pole ($wymagane_zdjecie1_cat,$zdjecie1_cat);
  177.  
  178. $zdjecie1 = zamien_polskie_litery ($zdjecie1);
  179. $zdjecie1 = wymagane_pole ($wymagane_zdjecie1,$zdjecie1);
  180.  
  181. $zdjecie2_cat = zamien_polskie_litery ($zdjecie2_cat);
  182. $zdjecie2_cat = wymagane_pole ($wymagane_zdjecie2_cat,$zdjecie2_cat);
  183.  
  184. $zdjecie2 = zamien_polskie_litery ($zdjecie2);
  185. $zdjecie2 = wymagane_pole ($wymagane_zdjecie2,$zdjecie2);
  186.  
  187. $zdjecie3_cat = zamien_polskie_litery ($zdjecie3_cat);
  188. $zdjecie3_cat = wymagane_pole ($wymagane_zdjecie3_cat,$zdjecie3_cat);
  189.  
  190. $zdjecie3 = zamien_polskie_litery ($zdjecie3);
  191. $zdjecie3 = wymagane_pole ($wymagane_zdjecie3,$zdjecie3);
  192.  
  193.  
  194. // sprawdzam czy wszystkie pola zostały wypełnione
  195. if ($ImieNazwisko!="" and $AdresEmail!="" and $Telefon!="" and $Adres!="" and $Komentarz!="" and $zdjecie1_cat!="" and $zdjecie1!="" and $zdjecie2_cat!="" and $zdjecie2!="" and $zdjecie3_cat!="" and $zdjecie3!="")
  196. {
  197. // sprawdzam poprawno&para;ć składni e-maila
  198. if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$AdresEmail))
  199. {  
  200. // wysyłam e-maila
  201. $headers = "MIME-Version: 1.0rn";
  202. $headers .= "Content-type: text/html; charset=iso-8859-2rn";
  203. $headers .= "From: $ImieNazwisko <$AdresEmail>";
  204. mail($mailto, "Zgloszenie Konkursowe: $ImieNazwisko", "Imie i nazwisko: $ImieNazwisko<BR><BR>
  205. E-mail: $AdresEmail<BR><BR>$Telefon<BR><BR>$Adres<BR><BR>$Komentarz<BR><BR>----------------------------<br>$zdjecie1_cat - $zdjecie1<BR><BR>$zdjecie2_cat - $zdjecie2<BR><BR>$zdjecie3_cat - $zdjecie3<BR><BR>", "$headers");
  206.  
  207.  print ("$wiadomosc_wyslana"); 
  208. }
  209. else // błedny e-mail
  210. {  
  211. print ("$bledny_email");
  212. }
  213. }
  214. else
  215. {
  216. // je&para;li nie wypełniono wszystkich pól wyswietlam komunikat
  217. print ("$puste_pole");
  218. }
  219. }
  220. else // je&para;li nie wysyłam e-maila to wy&para;wietlam formularz na stronie
  221. {
  222. print ("$formularz");
  223. }
  224. ?>
Cienki1980
Dodaj do <form action=".." method="..." takie coś:
  1. <form action="plik.php" method="post" enctype="multipart/form-data">


Zdjęcia chcesz wysyłać jako załączniki questionmark.gif Czy jako tło wiadomości questionmark.gif

Kolejnym błędem to jest to, że informacje o plikach przesyłanych przez formularz odczytujesz z tablicy $_FILES.

Nawet jakby zadziałało to co masz w tej chwili w treści wiadomości wysłałbys ścieżkę dostępu do zdjęcia, a nie zdjęcie.
chotek
- jako zalacznik
- zdjecie
- zgadza sie, wlasnie dodawalo mi sciezke smile.gif czego sie spodziewalem, ze tak bedzie :/

no ale to co podales nie dziala... tj nie dodaje zalacznikow


przed dodaniem: enctype="multipart/form-data" bylo tak:

makrofotografia - D:\\FOTO_2006\\IMG_4393.jpg
portret - D:\\FOTO_2006\\IMG_3080.jpg


a po dodaniu tego jest tak:

portret - /tmp/php88uTjn
makrofotografia - /tmp/phpChkZiV

ugh dry.gif
Cienki1980
No nic dziwnego, że tak się dzieje. Aby wysłać maila z załącznikiem należy zrobić to troszkę inaczej.
Zajrzyj np tutaj klik do strony.
Możesz też skorzystać z jakiegoś gotowca.
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.