Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wysyłanie formularza za pomocą php mail
Forum PHP.pl > Forum > Przedszkole
Vollker
Witam

Chciałbym się dowiedzieć czy mogę wysłać wartości z formularza za pomocą php mail?
Jest to formularz w html i ma kilka pól wyboru jednokrotnego, a także wielokrotnego i pola wpisywania, w sumie ok 12-15 pól.

Jestem trochę zielony w php i prosiłbym o wytłumaczenie na jakimś przykładzie.

pedro84
Tak. Dobierz się do tablicy $_POST (bądź też $_GET w zależności jak forma ślesz).
Vollker
No właśnie to jeszcze doczytałem że lepiej za pomocą $_Post bo chyba nie ma tam ograniczeń co do znaków w jednej linii.
I z tego co się dowiedziałem to ma to wyglądać mniejwięcej tak:
  1. <?php
  2. if(mail(ktoś@serwer.pl,temat,...));
  3. ?>


i właśnie nie wiem co ma być w kropkach lub inaczej jak to zadeklarować
pedro84
Poczytaj: mail. Od takich podstaw jest manual.
Vollker
wczoraj miałem trochę czasu i nad tym posiedziałem, doszedłem do tego

  1. <?php
  2. $email='ktos@serwer.pl';
  3. $subject='mail ze strony cos.pl';
  4. $headers = "From: aaa \r\n".
  5. "MIME-Version: 1.0" . "\r\n" .
  6. "Content-type: text/html; charset=UTF-8" . "\r\n";
  7. $message=
  8. $_POST['wartosc'].
  9. $_POST['wartosc2'].
  10. $_POST['wartosc3'].
  11. $_POST['wartosc4'].
  12. $_POST['wartosc5'].
  13. $_POST['wartosc6'].
  14. $_POST['wartosc7'].
  15. $_POST['wartosc8'].
  16. $_POST['nick'].
  17. $_POST['mail']
  18. ;
  19. mail($email, $subject, $message, $header)
  20. or die ('Błąd: wiadomość nie została wysłana');
  21.  
  22.  
  23.  
  24. ?>

i teraz mam kłopot bo wysyła się pusty mail, mógłby ktoś mi powiedzieć dlaczego i pomóc w ewentualnej zmianie kodu?
mhw
A jak wygląda cały kod, tzn. razem z formularzem?
Vollker
tu tylko formularz
  1. <form method="post" action="send.php" enctype="text/plain">
  2. <div class="style4">
  3.  
  4. <p style="height: 99px"> wybierz jedno: <br>
  5.    
  6. <input type="radio" name="wartosc" id="wartosc" value="ksiazka" checked/> ksiazka
  7. <br>
  8.    
  9. <input type="radio" name="wartosc" id="wartosc" value="film" />film
  10. <br>
  11.    
  12. <input type="radio" name="wartosc" id="wartosc" value="sport" />sport
  13. <br>
  14. </p>
  15.  
  16. <p style="height: 101px">Podaj zainsteresowania:<br>
  17.     
  18. <input type="checkbox" name="wartosc2" id="wartosc2" value="film" checked />film<br>
  19.     
  20. <input type="checkbox" name="wartosc3" id="wartosc3" value="ksiazka" />
  21. ksiazka<br>
  22.     
  23. <input type="checkbox" name="wartosc4" id="wartosc4" value="sport" />sport</p>
  24.  
  25. <p style="height: 41px">Czy...?<br>
  26.    
  27. <input name="wartosc5" id="wartosc" type="radio" value="tak" checked/>Tak 
  28. <input name="wartosc5" id="v" type="radio" value="nie"/>Nie<br>
  29. </p>
  30.  
  31. <p style="height: 42px">Czy ...?<br>
  32.     
  33. <input name="wartosc6" id="wartosc6" type="radio" value="tak" checked/>Tak 
  34. <input name="wartosc6" id="wartosc6" type="radio" value="nie"/>Nie</p>
  35.  
  36. <p style="height: 42px">liczba....<br>
  37. <input name="wartosc7" id="wartosc7" type="text" style="width: 50px"/><br>
  38. </p>
  39.  
  40. <p style="height: 49px"> Ilość ...?<br>
  41. <input name="wartosc8" id="wartosc8" type="text" style="width: 50px"/></p>
  42.  
  43. <p style="height: 50px">Podaj numer kontaktowy:<br>
  44. <input name="telefon" id="telefon"type="text" style="width: 250px"/><br>
  45. </p>
  46. <p style="height: 40px">
  47.  
  48.  
  49. Adres E-mail:<br>
  50. <input name="E-mail" id="mail" type="text" style="width: 250px"/>   
  51. <br>
  52. </p>
  53. </form>
  54.  
k_@_m_i_l
Skoro Ci się wysyła pusta wiadomość, to znaczy że nie masz tych danych w $_POST.
Zrób sobie przed wysłyłką maila:
  1. echo '<pre>';
  2. print_r($_POST);
  3. echo '</pre>';


I zobacz co zawiera $_POST.
Vollker
Array
(
)

i tyle i nie wiem czemu tylko to jak powinien normalne wartosci wypisywac
k_@_m_i_l
Ten formularz jest wysyłany na pewno do dobrego pliku ?
Bo coś mi się wydaje, że formularz jest wysyłany nie do tego pliku co powinien.
miniol
A gdzie tu przycisk do wysyłania?
Vollker
  1. <input type="submit" name="wyslij" value="Wyślij zapytanie" style="width: 135px"/>
miniol
No ale masz go pomiędzy <form></form> ?

Wstaw cały kod obu plików.
Vollker
  1. <form method="post" action="send.php" enctype="text/plain">
  2. <div class="style4">
  3.  
  4. <p style="height: 99px"> wybierz jedno: <br>
  5.  
  6. <input type="radio" name="wartosc" id="wartosc" value="ksiazka" checked/> ksiazka
  7. <br>
  8.  
  9. <input type="radio" name="wartosc" id="wartosc" value="film" />film
  10. <br>
  11.  
  12. <input type="radio" name="wartosc" id="wartosc" value="sport" />sport
  13. <br>
  14. </p>
  15.  
  16. <p style="height: 101px">Podaj zainsteresowania:<br>
  17.  
  18. <input type="checkbox" name="wartosc2" id="wartosc2" value="film" checked />film<br>
  19.  
  20. <input type="checkbox" name="wartosc3" id="wartosc3" value="ksiazka" />
  21. ksiazka<br>
  22.  
  23. <input type="checkbox" name="wartosc4" id="wartosc4" value="sport" />sport</p>
  24.  
  25. <p style="height: 41px">Czy...?<br>
  26.  
  27. <input name="wartosc5" id="wartosc" type="radio" value="tak" checked/>Tak
  28. <input name="wartosc5" id="v" type="radio" value="nie"/>Nie<br>
  29. </p>
  30.  
  31. <p style="height: 42px">Czy ...?<br>
  32.  
  33. <input name="wartosc6" id="wartosc6" type="radio" value="tak" checked/>Tak
  34. <input name="wartosc6" id="wartosc6" type="radio" value="nie"/>Nie</p>
  35.  
  36. <p style="height: 42px">liczba....<br>
  37. <input name="wartosc7" id="wartosc7" type="text" style="width: 50px"/><br>
  38. </p>
  39.  
  40. <p style="height: 49px"> Ilość ...?<br>
  41. <input name="wartosc8" id="wartosc8" type="text" style="width: 50px"/></p>
  42.  
  43. <p style="height: 50px">Podaj numer kontaktowy:<br>
  44. <input name="telefon" id="telefon"type="text" style="width: 250px"/><br>
  45. </p>
  46. <p style="height: 40px">
  47.  
  48.  
  49. Adres E-mail:<br>
  50. <input name="E-mail" id="mail" type="text" style="width: 250px"/>
  51. <br>
  52. </p>
  53. <input type="submit" name="wyslij" value="Wyślij zapytanie" style="width: 135px"/>
  54. </form>
  55.  

  1. <?php
  2. $email='ktos@serwer.pl';
  3. $subject='mail ze strony cos.pl';
  4. $headers = "From: aaa \r\n".
  5. "MIME-Version: 1.0" . "\r\n" .
  6. "Content-type: text/html; charset=UTF-8" . "\r\n";
  7. $message=
  8. $_POST['wartosc'].
  9. $_POST['wartosc2'].
  10. $_POST['wartosc3'].
  11. $_POST['wartosc4'].
  12. $_POST['wartosc5'].
  13. $_POST['wartosc6'].
  14. $_POST['wartosc7'].
  15. $_POST['wartosc8'].
  16. $_POST['nick'].
  17. $_POST['mail']
  18. ;
  19. mail($email, $subject, $message, $header)
  20. or die ('Błąd: wiadomość nie została wysłana');
  21.  
  22.  
  23.  
  24. ?>

nie wiem czy wam to cos pomoze...
miniol
Czy ten drugi plik na pewno nazywa się send.php ?
Vollker
no jak sie wysyla mail tylko ze pusty to raczej tak sie nazywa.....
k_@_m_i_l
Wywal enctype="text/plain" z <form
Vollker
taki mały syf a tak mi popsuł wszystko, Dzięki Wielkie
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.