Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z formularzem
Forum PHP.pl > Forum > Przedszkole
banki
Witam,

mam problem z formularzem, w ktorego wrzuciłem opcję wyboru do jakiego działu ma iść email, problem w tym że obojętnie co zaznaczę idzie mi na email1, jak zaznacze dział 2 to powinno pojść na email2 a idzie na email1, widzicie może jakieś błędy w tym kodzie?

  1.  
  2. <form action="form.php" method="post" name="form" id="form" onsubmit="usun_pl(this)" accept-charset="utf-8">
  3. <select name="dzial" class="input_kontakt" />
  4. <option value="dzial1">dział 1</option>
  5. <option value="dzial2">dział 2</option>
  6. </form>
  7.  



początek form.php
  1. if (count($_POST['dzial'] == 'dzial1'))
  2.  
  3. {
  4. ////////// USTAWIENIA //////////
  5. $email = 'email1@wp.pl'; // Adres e-mail adresata
  6. $subject = 'formularz ze strony'; // Temat listu
  7. $message = ''; // Komunikat
  8. $error = ''; // Komunikat błędu
  9. $charset = 'utf-8'; // Strona kodowa
  10. //////////////////////////////
  11.  
  12. $head =
  13. "MIME-Version: 1.0\r\n" .
  14. "Content-Type: text/plain; charset='utf-8'\r\n" .
  15. "Content-Transfer-Encoding: 8bit";
  16. $body = '';
  17. foreach ($_POST as $name => $value)
  18. {
  19. if (is_array($value))
  20. {
  21. for ($i = 0; $i < count($value); $i++)
  22. {
  23. $body .= "$name = " . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  24. }
  25. }
  26. else $body .= "$name = " . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  27. }
  28. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  29. }
  30.  
  31. else if(count($_POST['dzial'] == 'dzial2'))
  32.  
  33. {
  34. ////////// USTAWIENIA //////////
  35. $email = 'email2@wp.pl'; // Adres e-mail adresata
  36. $subject = 'formularz ze strony'; // Temat listu
  37. $message = ''; // Komunikat
  38. $error = ''; // Komunikat błędu
  39. $charset = 'utf-8'; // Strona kodowa
  40. //////////////////////////////
  41.  
  42. $head =
  43. "MIME-Version: 1.0\r\n" .
  44. "Content-Type: text/plain; charset='utf-8'\r\n" .
  45. "Content-Transfer-Encoding: 8bit";
  46. $body = '';
  47. foreach ($_POST as $name => $value)
  48. {
  49. if (is_array($value))
  50. {
  51. for ($i = 0; $i < count($value); $i++)
  52. {
  53. $body .= "$name = " . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  54. }
  55. }
  56. else $body .= "$name = " . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  57. }
  58. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  59. }
IronStark
  1. if (count($_POST['dzial'] == 'dzial1'))
  2.  
  3. ...
  4.  
  5. else if(count($_POST['dzial'] == 'dzial2'))


Wydaje mi się, że to wina warunków ? Jeżeli liczba elementów w tablicy dział (o ile dział to tablica) jest równa stringowi dzialX ?

Bo skoro zaznaczasz, że ma iść na email2 a spełnia się warunek z email1 i wysyła właśnie na ten email.
ostrylg
Po co Ci ten count() przy tych warunkach questionmark.gif

wyrzuć to i będzie działać.
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.