![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki temat: mam jedną podstronę, na której wstawiłem proste 2 osobne formularze do wysyłania maila. Różnią się drobnymi szczegółami typu inna nazwa pól formularza itp. Problem w tym, że którykolwiek formularz wypełnię i wyślę to tak jakby się uruchamiały oba i dostaję 2 emaile naraz no i przy obu formularzach wyświetla się ten sam napis "twoja wiadomość została wysłana". Podejrzewam, że to jakaś nieskomplikowana rzecz, żeby to rozdzielić. Ale totalnie nie znam się na PHP i nie mam pojęcia jak tego dokonać. Poniżej podaję cały kod (bez stylów css) z mojej strony. Jakie poprawki w nim nanieść abym mógł wstawić go obok tego poniżej i aby oba się nie dublowały? <form action="<?=$PHP_SELF; ?>" method="post"> - Imię i Nazwisko<br><input name="name" type="text"/><br> - Twój e-mail<br><input name="email" type="text"/><br> - Dotyczy<br><input value="Windows 7" name="subject" type="text"/><br> - Treść zapytania<br><textarea name="message" rows="12"/></textarea><br> <input type="submit" name="submit" value="Wyślij zapytanie" /> <input type="hidden" name="do" value="send"/> <input type="reset" name="reset" value="Skasuj"/> </form> <?PHP $do = ($_POST['do']); if($do == "send") { $recipient = "moj-email@wp.pl"; $subject = ($_POST['subject']); $name = ($_POST['name']); $email = ($_POST['email']); $message = ($_POST['message']); $formsend = mail("$recipient", "$subject", "$message", "From: $email ($name)\r\nReply-to:$email"); echo ("Twoja wiadomość została wysłana"); } ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 4 Dołączył: 3.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jeśli to jest cały kod to ja tu tylko widzę 1 formularz.
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
no fakt, podałem tu tylko jeden formularz. Ale docelowo są dwa: zapytanie i rezerwacja; na jednej podstronie.
Oba wysyłane są na tego samego maila i mają praktycznie te same pola do wypełnienia. Różnią się jedynie nazwami tych pól i tytułem przychodzącego maila. Nie znam się wogóle na php, a jestem wielce uradowany, że wkleiłem stosunkowo tak nieskąplikowany kod, który mi po prostu zadziałał i wysyła maila ze strony ![]() Nie wiem tylko jak zrobić żeby oba formularze były od siebie niezależne. Może wystarczy zmienić w którymś miejscu jakąś literkę, cyferkę w jednym z nich. Nie mam pojęcia. Poniżej wklejam faktyczny pełny kod do obu: <!-- zapytanie zapytanie zapytanie zapytanie zapytanie zapytanie zapytanie zapytanie zapytanie zapytanie--> <form action="<?=$PHP_SELF; ?>" method="post"> Imię i Nazwisko<input name="name" type="text" style="width: 400px;"/><br> Twój e-mail<input name="email" type="text" style="width: 400px;"/><br> Pytanie dotyczy<input value="Audi A4 Quattro" name="subject" type="text" style="width: 400px;"/><br> Treść zapytania<textarea name="message" rows="12" style="width: 400px;"/></textarea> <br /><br /> <input type="submit" name="submit" value="Wyślij zapytanie" /> <input type="hidden" name="do" value="send"/> <input type="reset" name="reset" value="Skasuj"/> </form> <?PHP $do = ($_POST['do']); if($do == "send") { $recipient = "moj-email@wp.pl"; $subject = ($_POST['subject']); $name = ($_POST['name']); $email = ($_POST['email']); $message = ($_POST['message']); $formsend = mail("$recipient", "$subject", "$message", "From: $email ($name)\r\nReply-to:$email"); echo ("Twoja wiadomość została wysłana"); } ?> <br><Br><Br> <!-- rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja --> <form action="<?=$PHP_SELF; ?>" method="post"> Imię i Nazwisko<input name="name" type="text" style="400px;"/><br> Twój e-mail<input name="email" type="text" style="width: 400px;"/><br> Rezerwacja<input value="REZERWUJĘ - Audi A4 Quattro" name="subject" type="text" style="width: 400px;"/><br> Uwagi<br><textarea name="message" rows="12" style="width: 400px;"/></textarea> <br /><br /> <input type="submit" name="submit" value="Zarezerwuj" /> <input type="hidden" name="do" value="send"/> <input type="reset" name="reset" value="Skasuj"/> </form> <?PHP $do = ($_POST['do']); if($do == "send") { $recipient = "moj-email@wp.pl"; $subject = ($_POST['subject']); $name = ($_POST['name']); $email = ($_POST['email']); $message = ($_POST['message']); $formsend = mail("$recipient", "$subject", "$message", "From: $email ($name)\r\nReply-to:$email"); echo ("Twoja Rezerwacja została wysłana"); } ?> |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
W pierwszym formularzu masz:
i w drugim tak samo:
Masz także dwa identyczne warunki:
które są spełnione przy wysłaniu obojętnie którego formularza. Także wszystko wysyła się dwa razy. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok, czyli mamy przyczynę. Czy w takim razie rozwiązaniem będzie zmiana wszystkich "do" np na "do1" w drugim formularzu?
tak jak poniżej: <!-- rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja rezerwacja --> <form action="<?=$PHP_SELF; ?>" method="post"> Imię i Nazwisko<input name="name" type="text" style="400px;"/><br> Twój e-mail<input name="email" type="text" style="width: 400px;"/><br> Rezerwacja<input value="REZERWUJĘ - Audi A4 Quattro" name="subject" type="text" style="width: 400px;"/><br> Uwagi<br><textarea name="message" rows="12" style="width: 400px;"/></textarea> <br /><br /> <input type="submit" name="submit" value="Zarezerwuj" /> <input type="hidden" name="do1" value="send"/> <input type="reset" name="reset" value="Skasuj"/> </form> <?PHP $do1 = ($_POST['do1']); if($do1 == "send") { $recipient = "moj-email@wp.pl"; $subject = ($_POST['subject']); $name = ($_POST['name']); $email = ($_POST['email']); $message = ($_POST['message']); $formsend = mail("$recipient", "$subject", "$message", "From: $email ($name)\r\nReply-to:$email"); echo ("Twoja Rezerwacja została wysłana"); } ?> |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tak, to załatwi sprawę, ale jeśli przerobiłeś i przetestowałeś kod to już zapewne sam to wiesz.
![]() -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, wszystko gra!
Takie proste, a tak cieszy ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 06:13 |