Dobrý den. Před týdnem jsem si na stránky přidal formulář s několika políčky, který se má po stisknutí tlačítka odeslat na email. Všechno fungovalo bez problémů, až na českou diakritiku. Písmena s háčky se zobrazovala jako nějaké podivné znaky.
Zkoušel jsem na netu hledat nějaké řešení, které by to opravilo. Protože ale v php nejsem vůbec zdatný, nepodařilo se. Trpělivě jsem ale zkoušel dál a dál (většinou metodou pokus omyl) a když už jsem pomalu začínal rozumět tomu co dělám, přestalo odesílání fungovat úplně.
Po vyplnění a odeslání dat z formuláře se mi sice objeví zpráva, že formulář byl úspěšně odeslán, na email ale nic nedojde (emailova schranka je na volny.cz). Myslel jsem si, že jsem svými amatérskými úpravami nějak zkazil můj formulář.
A tak jsem se rozhodl, že začnu od začátku. Zkusil jsem na netu najit nějaké jednoduché příklady formulářů (například na http://tvorba-webu.zdarek.com/php/email.php nebo http://programujte.com/?akce=clanek&cl=2006061702-jednoduchy-odesilaci-formular), nakopíroval je k sobě na stránky a zkusil jestli tyto budou fungovat, ale nefungují. Vůbec nechápu kde může být chyba.
Mohl jsem nějak na svém účtu na webzdarma zrušit používání php? Nebo za to může nastavení firewall?
na WZ je omezení na počet podeslaných mailů cca 10/hodinu, může to souviset
Nípal::: Tohle je na novou kolonku ve statistice měsíce:
"...a když už jsem pomalu začínal rozumět tomu co dělám, přestalo odesílání fungovat úplně."
hm, a jak je to s tím limitem? když překročím těch deset mailů za hodinu, tak mě je zakážou na celý den nebo tak něco? Protože jsem to zkusil teď po asi třech hodinách a pořád nic. Udělal jsem si stejný formulář na sweb a tam to funguje bez problémů, zatím. Už se ale do toho zase chystám vrtat (pořád nemůžu překousnout tu zmršenou češtinu), tak uvidím jak dlouho to pojede.
Platí pravidlo. Pokud tomu nerozumíte, tak se to naučte nebo to nechte plavat.
1) funkce mail obsahuje základní tvar mail("komu@poslat.to","Předmět","Zpráva"); Pro ověření odeslání se tato funkce obalí do podmínky, která vyhodnotí, zda byl email odeslán nebo ne.
2) Pro použití českých znaků je potřeba provést úpravy, které budou asi nad Vaši sílu. Musí se poslat hlavička o použitém kódování. A aby to nebylo jednoduché, tak předmět má jiná pravidla pro češtinu.
3) Zde na WZ je funkce mail omezena. A to na 10 emailu ZA HODINU. To znamená, že po hodině se vše nuluje a můžete poslat dalších 10 emailů. Pokud se překročí limit, pak funkce vrátí zápornou odpověď (email se neodešle).
Jiné metody posílání emailu z WZ nejsou možné.
2) cz.php.net/mail
je tam spoustu prikladu, uprava neni nad sily, kdyz vis, ze hledat kodovani znaku.
3) omezeni poctu mailu resi RSS a misto odesilani ukladas maily do databaze
Tomik,
presne to co si napisal som si vzdy myslel aj ja.. do nedavna mi fungovalo posielanie mailov presne ako pises, teraz vsak nie.. je na serveri nejaky problem? alebo cim to moze byt? vyuzivam funkciu mail tak ako pises
jimmy: Poslední dobou tu dochází k testování přechodu na verzi PHP5. A co vím, tak ve verzi PHP5 je funkce z nějakého důvodu mezi zakázaných funkcí. Třeba je to tvůj případ.
Bez urazky wz, ale bez tej funkcie si hladam novy hosting...
Všichni tady píšete o funkci mail(). Zkoušeli jste i
<form method="post" action="http://www.webzdarma.cz/sendform.php">
?
O sendform.php nic neviem...
Ten Sendform mi funguje. Skoda, ze to nekde admini nezverejnili, nebo aspon jsem to nenasel. Jen mi nefunguje successPAGE a errorPAGE. Nevite nekdo cim to muze byt? Obe promenne jsem si nastavil na sve htm a presto to nefunguje. Ale i tak je to velky posun ;o)
Hm, ten návod tu býval, nevím proč ho stáhli...
A v ktere casti ty navody byvaly?
Mam otazku na ty, kteri vyuzivaji SendForm: Jak mate nastaveno successPAGE a errorPAGE a funguje Vam to? Diky
Odpovim si sam. Uz jsem na to prisel ;o) Musi tam byt absolutni cesta k tem souborum.
Mark L.: Nevyužívám to, nepotřebuji to. Přesto by se hodilo při vyřešení tématu vložit sem funkční formulářový html kód ;) Potěší to jiště ty, kteří něco podobného hledají (protože věřím, že lidé ještě umí hledat, ne se jen ptát).