X
ďťż

Ładny brzuch

Witam! Jestem nowy na forum i z góry proszę o wyrozumiałość i jeśli popełnię jakiś karygodny błąd to proszę o kulturalne poprawienie mnie. Co do tematu, nie wiem czy w dobrym miejscu postawiłem temat, ale mam następujący problem: mam taki prosty formularz napisany w Javascript:
<FORM name="ZAMÓWIENIE" method="post" action="mailto:Rasta130191@gmail.com" enctype="text/plain"> <H1> FORMULARZ ZAMÓWIENIOWY </H1> <HR> <a>Login </a><INPUT type="text" name="LOGIN" maxlength="20"> <HR> <H2>RODZAJ PRZESYŁKI</H2> <INPUT type="radio" name="PRZESYLKA" value="Kurier" checked="true"> <A>Kurier</A><BR> <INPUT type="radio" name="PRZESYLKA" value="Poczta Polska"> <A>Poczta Polska</A> <BR> <INPUT type="radio" name="PRZESYLKA" value="Odbiór osobisty"> <A>Odbiór osobisty</A> <BR> <HR> <H2>KARTKA</H2> <SELECT name="KARTKA" onchange="ustaw_cenę_kartki()"> <script language="Javascript"> for (i=0; i<=4; i++) document.writeln("<option>", w[i][0], "</option>"); </SCRIPT> </SELECT> <A>Cena</A> <INPUT type="text" name="CENA" maxlength="4" size="4" disabled> <A>Ilość</A> <INPUT type="text" name="ILOSC" maxlength="4" size="4" onchange="przelicz_cenę_kartki()"> <A>RAZEM</A> <INPUT type="text" name="RAZEM" maxlength="4" size="4" disabled><A> zł</A> <HR> <INPUT type="submit" value="ZAMÓW!"> <INPUT type="reset" value="Wyczyść"> </FORM>
No i tu mam pytanie bo googlowałem ale nie mogłem znaleźć, co zrobić żeby przy kliknięciu przycisku "ZAMÓW" nie otwierał się klient poczty z edycją maila z zawartością tylko aby mail został wysłany od razu na skrzynkę. Chce w ten sposób mieć pewność że dane które mają być wysłane nie zostaną wyedytowane.



PHP i funkcji mail(), a Ty masz zwykłe "mailto:" i dlatego przekazuje treść do przypisanego programu pocztowego. Tutaj masz w razie czego pomoc: http://www.php.net/m...nction.mail.php
Użytkownik Kamil881 edytował ten post 29 marzec 2010, 19:45

PHP i funkcji mail(), a Ty masz zwykłe "mailto:" i dlatego przekazuje treść do przypisanego programu pocztowego. Tutaj masz w razie czego pomoc: http://www.php.net/m...nction.mail.php

W takim razie sugerujesz przerobić cały formularz z js na php? W js nie ma innego wyjścia?

Na szybko, resztę sobie dostosuj.

if (empty($_POST['submit'])) { echo '<form action="?" method="post"> Twój formularz </form>'; } elseif (!empty($_POST['name']) && kolejne wymagane pola) { $message = "Treść:\n$_POST[tresc]\n "; $header = "From: $_POST[adresat] <$_POST[email]>"; @mail(rasta130191@gmail.com,"Tytuł wiadomości","$message","$header") or die('Nie udało się wysłać wiadomości.'); echo 'Wiadomość wysłana poprawnie!'; } else echo 'Wypełnij wszystkie pola!';
W nawiasie kwadratowym masz name poszczególnych pól formularza.
Użytkownik Kamil881 edytował ten post 30 marzec 2010, 14:24


@Kamil881: Troszkę stare metody stosujesz"$message","$header"zamiast$message,$header
W Twoim przykładzie trzeba jeszcze się zabezpieczyć przed e-mail injection.

@Carlo419: JS jest wykonywany po stronie użytkownika, więc jeśli użytkownik by nie miał skonfigurowanego programu pocztowego, to nic byś nie zrobił. Tak czy inaczej w sposób ukryty nie da się wysłać maila u użytkownika - to by był poważny problem i furtka dla spamerów.
Skorzystaj z PHPmailera. W paczce jest kilka przykładów, na których można się wzorować.

P.S.
ustaw_cenę_kartki()? I to działa? W nazwach funkcji mogą się znajdować jedynie łacińskie znaki alfabetu, liczby oraz znak podkreślenia.

andrzej_aa:

ustaw_cenę_kartki()? I to działa? W nazwach funkcji mogą się znajdować jedynie łacińskie znaki alfabetu, liczby oraz znak podkreślenia.
Jakimś cudem działa, choć masz rację rozpędziłem się to wesja robocza, co innego jak wrzuciłbym na serwer.

Kamil881:
Tobie działa ten formularz? Bo mnie wywala błąd w 7 linijce. Nie wiem co jest powodem, bo dopiero zaczynam się uczyć php.

andrzej_aa:

ustaw_cenę_kartki()? I to działa? W nazwach funkcji mogą się znajdować jedynie łacińskie znaki alfabetu, liczby oraz znak podkreślenia.
Jakimś cudem działa, choć masz rację rozpędziłem się to wesja robocza, co innego jak wrzuciłbym na serwer.

Kamil881:
Tobie działa ten formularz? Bo mnie wywala błąd w 7 linijce. Nie wiem co jest powodem, bo dopiero zaczynam się uczyć php.

Daj swój adres w cudzysłów i powinno być ok. Usuń też && kolejne wymagane pola, jeśli nie masz innych pól. No i oczywiście zastosuj się do uwag andrzeja_aa, bo o tym nie pomyślałem :)
Użytkownik Kamil881 edytował ten post 30 marzec 2010, 17:25
Przeanalizowałeś ten kod? Zauważyłeś może w instrukcji warunkowej treść "kolejne wymagane pola"? Dodatkowo w funkcji mail() Kamil881 popełnił błąd i zapomniał dodać apostrofy do adresu mailowego.

Zrobiłem co doradziliście i niestety nadal mam problem w 7 linijce

Pokaż kod, tak ciężko coś doradzić.

<? if (empty($_POST['submit'])) { echo '<form action="?" method="post"> Twój formularz </form>'; } elseif (!empty($_POST['name'])) { $message = "Treść:\n$_POST[tresc]\n "; $header = "From: $_POST[adresat] <$_POST[email]>"; @mail("rasta130191@gmail.com","Tytuł wiadomości",$message,$header) or die('Nie udało się wysłać wiadomości.'); echo 'Wiadomość wysłana poprawnie!'; } else echo 'Wypełnij wszystkie pola!'; ?>
Proszę

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •  

    Drogi uzytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczac Ci coraz lepsze uslugi. By moc to robic prosimy, abys wyrazil zgode na dopasowanie tresci marketingowych do Twoich zachowan w serwisie. Zgoda ta pozwoli nam czesciowo finansowac rozwoj swiadczonych uslug.

    Pamietaj, ze dbamy o Twoja prywatnosc. Nie zwiekszamy zakresu naszych uprawnien bez Twojej zgody. Zadbamy rowniez o bezpieczenstwo Twoich danych. Wyrazona zgode mozesz cofnac w kazdej chwili.

     Tak, zgadzam sie na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerow w celu dopasowania tresci do moich potrzeb. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

     Tak, zgadzam sie na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerow w celu personalizowania wyswietlanych mi reklam i dostosowania do mnie prezentowanych tresci marketingowych. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

    Wyrazenie powyzszych zgod jest dobrowolne i mozesz je w dowolnym momencie wycofac poprzez opcje: "Twoje zgody", dostepnej w prawym, dolnym rogu strony lub poprzez usuniecie "cookies" w swojej przegladarce dla powyzej strony, z tym, ze wycofanie zgody nie bedzie mialo wplywu na zgodnosc z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.