Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Formularz
kopek
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
kopek
post
Post #3





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo masz o jeden } za dużo.
Jakbyś odpalał php w trybie wyświetlania błędów to byś błędy zobaczył.
Go to the top of the page
+Quote Post
buliq
post
Post #5





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Ostatnia klamra mi tu nie pasuje. CO ona zamyka?

edit: za późno o.0 (IMG:style_emoticons/default/smile.gif)

Ten post edytował buliq 3.08.2011, 11:45:12
Go to the top of the page
+Quote Post
kopek
post
Post #6





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
bastard13
post
Post #7





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Dodaj sobie na początku kodu:
  1. error_reporting(E_ALL | E_STRICT);

Przynajmniej żaden błąd się przed tobą nie ukryje:)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ć.
Go to the top of the page
+Quote Post
bastard13
post
Post #9





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przecież E_ALL zawiera w sobie również E_PARSE, a to jedno i to samo, co parse error.
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 (IMG:style_emoticons/default/tongue.gif)

Dlatego mówie, ze to musi być ustawione w php.ini (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
bastard13
post
Post #11





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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

No to tutaj mnie masz:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 01:40