Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz z załącznikami
Forum PHP.pl > Forum > Przedszkole
daegurth
Witam,

Na wstępie chciałbym zaznaczyć, że dopiero zaczynam swoją przygodę z php więc proszę o wyrozumiałość.

Mam pewien problem, mianowicie chciałbym utworzyć formularz bazujący na funkcji mail(), który przesyłałby także pliki (.jpg, .doc).
1. Czy jest to w ogóle możliwe? Jeżeli tak to prosiłbym o pomoc.
2. Czy istnieje możliwość sprawdzenia czy dane pole formularza zostało wypełnione, a jeżeli nie to żeby ponownie wczytywała się strona z formularzem z zaznaczonymi polami do poprawienia, bez utraty wpisanych danych w innych polach?
3. Czy można utworzyć kilka pól tekstowych w formularzu które dostępne byłyby tylko po zaznaczeniu w checkboxsie odpowiedniej opcji?

Formularz wygląda tak:
  1. <form method="POST" action="formularz.php">
  2.  
  3. <table align="center">
  4. <tr>
  5. <td width="116">Imię</td>
  6. <td width="194"> <input type="text" size="65" maxlength="256" name="imie"></td>
  7. </tr>
  8. <tr>
  9. <td>Adres</td>
  10. <td> <input type="text" size="65" maxlength="256" name="adres"></td>
  11. </tr>
  12. <tr>
  13. <td>Kod pocztowy, poczta</td>
  14. <td> <input type="text" size="65" maxlength="256" name="poczta"></td>
  15. </tr>
  16. <tr>
  17. <td>Tel</td>
  18. <td> <input type="text" size="65" maxlength="256" name="tel"></td>
  19. </tr>
  20. <tr>
  21.  
  22. <td>Mail</td>
  23. <td><input type="text" size="65" maxlength="256" name="mail"></td>
  24. </tr>
  25. </table>
  26. <p align="center"><strong>wybierz:</strong></p>
  27. <p align="left">
  28. <input type="checkbox" name="checkbox1" value="checkbox">
  29. opcja1 </p>
  30. <p align="left">
  31. <input type="checkbox" name="checkbox2" value="checkbox">
  32. opcja1</p>
  33. <p align="left">
  34. <input type="checkbox" name="checkbox3" value="checkbox">
  35. opcja3</p>
  36. <p align="left">
  37. <input type="checkbox" name="checkbox4" value="checkbox">
  38. opcja4</p>
  39. <p align="center">  </p>
  40.  
  41. <!-- dostepne tylko po zaznaczeniu opcji4 -->
  42.  
  43. <p> </p>
  44. <p><strong>kursy, szkolenia, kwalifikacje, uprawnienia</strong></p>
  45. <p>1.
  46. <textarea name="kurs1" rows="5" cols="42"></textarea>
  47. 2.
  48. <textarea name="kurs2" rows="5" cols="42"></textarea>
  49. </p>
  50.  
  51. <p> </p>
  52.  
  53. <p><strong>Predyspozycje, zdolności:</strong></p>
  54. <p>
  55. <textarea name="predyspozycje" rows="5" cols="92"></textarea>
  56. </p>
  57. <p><strong>Zainteresowania, pasje, hobby:</strong></p>
  58. <p>
  59. <textarea name="hobby" rows="5" cols="92"></textarea>
  60. </p>
  61. <p><strong>Działalność społeczna (ewentualnie):</strong></p>
  62. <p>
  63. <textarea name="dzialalnosc" rows="5" cols="92"></textarea>
  64. </p>
  65.  
  66. <p> </p>
  67. <p> </p>
  68. </div>
  69. <p align="center"> </p>
  70. <p align="center"> </p>
  71. <p align="center"> </p>
  72. <p align="center"> </p>
  73. <dl>
  74. <dd>  </dd>
  75. <dd>  </dd>
  76. </dl>
  77. <p>
  78. <input name="submit" type="submit" value="Prześlij komentarze">
  79. <input name="reset" type="reset" value="Wyczyść formularz">
  80. </p>
  81. </form>


A skrypt tak:

  1. <?php
  2.  
  3. $imie = $_POST['imie'];
  4. $adres = $_POST['adres'];
  5. $poczta = $_POST['poczta'];
  6. $telefon1 = $_POST['telefon1'];
  7. $mail = $_POST['mail'];
  8.  
  9. $checkbox1 = $_POST['checkbox1'];
  10. $checkbox2 = $_POST['checkbox2'];
  11. $checkbox3 = $_POST['checkbox3'];
  12. $checkbox4 = $_POST['checkbox4'];
  13.  
  14. $kurs1 = $_POST['kurs1'];
  15. $kurs2 = $_POST['kurs2'];
  16.  
  17. $predyspozycje = $_POST['predyspozycje'];
  18.  
  19. $hobby = $_POST['hobby'];
  20.  
  21. $dzialalnosc = $_POST['dzialalnosc'];
  22.  
  23. $referencje = $_POST['referencje'];
  24.  
  25. $Recipient = 'xxxx@zzz.pl';
  26. $MsgSubject = 'formularz';
  27. $MsgHeader = "From: $mailr\n";
  28. $MsgBody = " Imię: $imie
  29. \n Adres: $adres
  30. \n Kod pocztowy:  $poczta  
  31. \n Telefon: $telefon1
  32.  
  33. \n E-mail: $mail
  34. \n
  35. \n 1. $checkbox1
  36. \n 2. $checkbox2
  37. \n 3. $checkbox3
  38. \n 4. $checkbox4
  39. \n
  40. \n
  41. \n Kursy i szkolenia
  42. \n 1. $kurs1
  43. \n 2. $kurs2
  44. \n
  45. \n
  46. \n Predyspozycje: $predyspozycje
  47. \n Zainteresowania: $hobby
  48. \n Działalność społeczna: $dzialalnosc";
  49.  
  50. mail($Recipient, $MsgSubject, $MsgBody, $MsgHeader);
  51. ?>


Z góry dziękuję za udzielone wskazówki.
Spawnm
wszystko się da,

//Mam pewien problem, mianowicie chciałbym utworzyć formularz bazujący na funkcji mail(), który przesyłałby także //pliki (.jpg, .doc).

input type=file

a potem albo kombinujesz z nagłówkiem w mail albo korzystasz z np phpmail

2.
if(empty($_POST['imie'])){
//puste
}

3.
js
lnn
a nie lepiej skorzystac z klasy phpMailer ? wszystko gotowe tongue.gif tylko podolaczac
daegurth
nigdy nie miałem styczności z klasami i nie wiem jak się ich używa...

w jaki sposób użyć tej funkcji input type=file ?
Spawnm
zobacz w kursie html ;]

to nie funkcja...
daegurth
jeszcze coś nie działa ale dzięki za nakierowanie. powinienem sobie poradzić winksmiley.jpg

EDIT:

i mam problem. zastosowałem wysyłanie wiadomości html z załącznikiem. wszystko pięknie ładnie, skrypt się wykonuje, pojawia sie komunikat o wysłaniu wiadomości. Gdy odbieram wiadomość e-mail to jest tylko komunikat:

"Nie możemy poprawnie zaprezentować tej wiadomości, ponieważ dotarła do nas uszkodzona. Poproś nadawcę o ponowne wysłanie tej wiadomości.
Możesz zapisać tę wiadomość i spróbować obejrzeć innym programem."

cóż może być przyczyną?

chyba nikt tu nie zagląda...
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.