Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz
Forum PHP.pl > Forum > Przedszkole
kopek
Mam formularz, który po wypełnieniu pól wysyła wiadomość zbierając dane z tych pól. Działa bez problemu. Kod poniżej:

  1. if (!empty($_POST['nazwa']) && !empty($_POST['miasto']) && !empty($_POST['temat']) && !empty($_POST['tekst']) && !empty($_POST['email']))
  2. {
  3. $mailtxt ="Witam.\n\n";
  4.  
  5. $mailtxt .=" Imię i Nazwisko: $_POST[nazwa]\n";
  6. $mailtxt .=" Miasto: $_POST[miasto]\n";
  7. $mailtxt .=" Treść: $_POST[tekst]\n\n\n";
  8.  
  9. $mailtxt .="Pozdrawiam.\n\n";
  10.  
  11. $temat = "Mediso - FormularzS - $_POST[temat]";
  12. $do = "adres@nr.1";
  13.  
  14. $headers="From: $_POST[email]\r\n";
  15. mail($do, $temat, $mailtxt, $headers);
  16. echo "Wiadomość wysłana.";
  17. }
  18. else echo "Wiadomość nie została wysłana.<br><b>Wszystkie pola są obowiązkowe.</b>";


Jednak pole temat oferuje do wyboru dwie możliwości i w związku z tym chciałbym, aby w zależności od wybranego tematu, wiadomość trafiała na odpowiedni adres. Zrobiłem więc tak ale niestety to już nie działa. Kod poniżej:

  1. if ($_POST['temat']="biuro"){
  2. if (!empty($_POST['nazwa']) && !empty($_POST['miasto']) && !empty($_POST['temat']) && !empty($_POST['tekst']) && !empty($_POST['email']))
  3. {
  4. $mailtxt ="Witam.\n\n";
  5.  
  6. $mailtxt .=" Imię i Nazwisko: $_POST[nazwa]\n";
  7. $mailtxt .=" Miasto: $_POST[miasto]\n";
  8. $mailtxt .=" Treść: $_POST[tekst]\n\n\n";
  9.  
  10. $mailtxt .="Pozdrawiam.\n\n";
  11.  
  12. $temat = "Mediso - FormularzB - $_POST[temat]";
  13. $do = "adres@nr.1";
  14.  
  15. $headers="From: $_POST[email]\r\n";
  16. mail($do, $temat, $mailtxt, $headers);
  17. echo "Wiadomość wysłana.";
  18. }
  19. else echo "Wiadomość nie została wysłana.<br><b>Wszystkie pola są obowiązkowe.</b>";
  20. }
  21. else{
  22. if (!empty($_POST['nazwa']) && !empty($_POST['miasto']) && !empty($_POST['temat']) && !empty($_POST['tekst']) && !empty($_POST['email']))
  23. {
  24. $mailtxt ="Witam.\n\n";
  25.  
  26. $mailtxt .=" Imię i Nazwisko: $_POST[nazwa]\n";
  27. $mailtxt .=" Miasto: $_POST[miasto]\n";
  28. $mailtxt .=" Treść: $_POST[tekst]\n\n\n";
  29.  
  30. $mailtxt .="Pozdrawiam.\n\n";
  31.  
  32. $temat = "Mediso - FormularzS - $_POST[temat]";
  33. $do = "adres@nr.2";
  34.  
  35. $headers="From: $_POST[email]\r\n";
  36. mail($do, $temat, $mailtxt, $headers);
  37. echo "Wiadomość wysłana.";
  38. }
  39. else echo "Wiadomość nie została wysłana.<br><b>Wszystkie pola są obowiązkowe.</b>";
  40. }
  41. }
nospor
Nie działa czyli co się dzieje lub nie dzieje?

$_POST['temat']="biuro"
to jest przypisanie a nie porównanie...

$_POST['temat']=="biuro"
To jest porównanie

przenosze
kopek
Poprawiłem zgodnie z sugestią (moje przeoczenie). Niestety dalej nie działa. Efekt jest taki jakby skrypt się zawieszał w momencie kiedy dochodzi do tych warunków IF. Nic dalej się nie ładuje na stronie... a powinna stopka, tło, kolejne komórki tabeli.
nospor
Bo masz o jeden } za dużo.
Jakbyś odpalał php w trybie wyświetlania błędów to byś błędy zobaczył.
buliq
Ostatnia klamra mi tu nie pasuje. CO ona zamyka?

edit: za późno o.0 smile.gif
kopek
Klamra... tak to ona jest sprawczynią całego zamieszania. Taki efekt metody kopiowania, doklejania kawałków kodu z różnych plików. Oczywiście problem rozwiązany. Dzięki.
bastard13
Dodaj sobie na początku kodu:
  1. error_reporting(E_ALL | E_STRICT);

Przynajmniej żaden błąd się przed tobą nie ukryje:)
nospor
Akurat ten błąd co tu był to przy Twoim kodzie się ukryje, bo to był PARSE ERROR
Parse errory to trzeba w php.ini ustawiać.
bastard13
Przecież E_ALL zawiera w sobie również E_PARSE, a to jedno i to samo, co parse error.
nospor
Jesteś pewien kapitanie oczywisty?

Tak, to jest to samo, ale.....

..ale przy PARSE ERROR kod:
error_reporting(E_ALL | E_STRICT);
nie wykona się, gdyż jest PARSE ERROR tongue.gif

Dlatego mówie, ze to musi być ustawione w php.ini smile.gif
bastard13
Cytat
..ale przy PARSE ERROR kod:
error_reporting(E_ALL | E_STRICT);
nie wykona się, gdyż jest PARSE ERROR

No to tutaj mnie masz:)
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.