Formularz - nie wysyła maila - jak?


(TheMegaCherry) #1

Witajcie,


(angh) #2

http://php.net/manual/en/function.mail.php


(j24) #3

Nie wiem na co ma skutkować zmienna $submit w poleceniu mail.

Według mojej wiedzy polecenie mail ma 3 argumenty: adres na który wysyłamy, temat listu i treść listu. “From …”  określa w jakim typie ma być list kodowany - bez tego większość odbiorców mogłaby widzieć krzaki zamiast polskich liter. 

Tu skopiowałem polecenie mail z formularza który mi działa na mojej stronie:

mail($moj, $temat, $list, “From: $email\r\nContent-Type: text/plain;charset=‘ISO-8859-2’”);


(angh) #4

Dlatego podalem linka do dokumentacji. Parametry w funkcji mail musza byc poprawione. Moze byc do 5 parametrow, ale kolejnosc musi byc poprawna.

bool mail ( string $to , string $subject , string $message [, string $additional_headers [,string $additional_parameters ]] )


(TheMegaCherry) #5

A bylibyście tak uprzejmi i wskazali mi dokładnie gdzie, co i na co mam zmienić w moim kodzie?


(j24) #6

Wydaje mi się że “angh” jak również ja wyrażamy się dość jasno

Twoja funkcja do wysyłania cytat:

$sukces = mail($submit, $dokogo, $tytul, $wiadomosc, "Od: <$odkogo>");

jest napisana niezbyt poprawnie. Wysyłasz ten formularz do $submit zamiast do $dokogo i to jest główny błąd.

Ja jak pisałem nie wiem kompletnie po co ona tu jest i co robi

Wykasuj ten pierwszy parametr ($submit,) i będzie dużo lepiej. Będzie co najwyżej problem z krzakami co pisałem wyżej.


(TheMegaCherry) #7

Dobra już wszystko działa :smiley:


(angh) #8

Polecam bliższe zaprzyjaźnienie się z dokumentacja - to powinna być pierwsza droga do rozwiązania problemu, bo głupio z forum do niej odsyłać :wink:


(j24) #9

Korzystanie z oficjalnej dokumentacji PHP (w dodatku jest ona po angielsku) dla kogoś kto startuje jest trochę za trudne. Trzeba na początek trochę rozeznać się w temacie czyli poczytać jakiś poradnik internetowy lub podstawową książkę z PHP. Bardzo złą metodą jest korzystanie w sposób nieświadomy z jakiś gotowych rozwiązań które często mają śmieszne błędy lub też mają sporo niepotrzebnego kodu tylko zamazującego istotę zagadnienia. Śmieszne jest dla mnie że wielu korzysta z takich gotowców gdzie zmienne mają jakieś wyszukane angielskie nazwy jakby to było konieczne do prawidłowego działania skryptu.


(angh) #10

Jednak dokumentacja dla sprawdzenia sygnatury funkcji jest w zasadzie niezbedna. Zrozumienie przykladow rowniez bardzo pomaga, no a to, ze nie powinno sie uzywac copy/paste przy nauce programowania to rzecz dosc oczywista i tutaj dokumentacja niczego nie zmienia :wink:


(rob006) #11

Nieporównywalnie gorszą metodą jest samodzielne pisanie takich rozwiązań nie mając żadnego pojęcia o programowaniu ani nie potrafiąc potrzebnej wiedzy zdobyć. W efekcie powstają potworki takie jak ten tutaj - niepraktyczny, działający tylko przez przypadek, bez żadnej walidacji ani zabezpieczenia przed botami. Takie formularze zamieniają się w maszynki do wysyłania spamu, nie tylko do samego zainteresowanego, ale też do innych.

Tak samo jak nie budujecie własnego samochodu próbując na oślep składać i skręcać potencjalnie pasujące do siebie części, tak samo nie budujcie swoich stron próbując na oślep łączyć fragmenty losowych poradników znalezionych w sieci, licząc że w końcu zadziała.