Stránka: 1 z 2
| [ Príspevkov: 35 ] | 1, 2 |
Autor | Správa |
---|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Tak som tu zase. Už neviem čo mám robiť!
Skúšam funkciu mail() z formuláru.
Mám súbo mail.php, ktorému odosielam cez post ten mail.
Formulár:
Kód: <form id="mail" action="mail.php" method="post" enctype="text/plain" > adresa:<input name="adresa" type="text" value="vladimir.camaj@gmail.com" size="30" /> predmet:<input name="predmet" type="text" value="camo.tym.sk" size="30" /> správa:<textarea name="sprava" align="middle" cols="60" rows="7" /> </textarea> <input type="submit" value="odoslať" size="10" /> </form> mail.php Kód: <? if(mail($_POST["adresa"], $_POST["predment"], $_POST["sprava"])){ print "<HTML><BODY>Sparava bola odoslana!"; print "</BODY></HTML>"; } else{ print("<HTML><BODY>Nepodarilo sa spravu odoslat! "); print("</BODY></HTML>"); } ?>
Odošlem to, príde mi správa, že ,,Sprava bola odoslana,, ,ale v schránke nič nieje.
Neviem či to neni nejaký problém s premennou $_POST[]
Na hostingu mám zapnuté register globals na ON.
Nemalo by to byť OFF?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Tak si to nastav tak, aby si videl vsetky chyby a podla toho uvidis, ci pracujes s nedefinovanymi premennymi:
Kód: error_reporting(E_ALL);
Od hostingu, ktory ma zapnute register_globals, radsej rychlo prec.
A pozor aj na ten preklep - predme nt v PHP skripte.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
No ja si to môžem prepnúť na OFF. Ale neviem ako nastaviť ten výpis chýb. Ako mi to vlastne môže prejsť cez tú podmienku, keď nemá tú premennú. Teda ak to správne chápem.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Ved som ti to napisal, daj to na zaciatok skriptu.
Co sa tyka podmienky, tak cez podmienku neprechadza samotna premenna, ale fcia mail, ktorej prazdne parametre nemusia prekazat.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Tak to tam dáme.....
Vypísalo toto:
Citácia: Notice: Undefined index: adresa in /home/free/tym.sk/c/camo/root/www/mail.php on line 3
Notice: Undefined index: predmet in /home/free/tym.sk/c/camo/root/www/mail.php on line 3
Notice: Undefined index: sprava in /home/free/tym.sk/c/camo/root/www/mail.php on line 3 Sparava bola odoslana!
Ako to, že neznámy index?
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Ja už som v koncoch
Nastavil som method="get" a funguje to.
Vypol som register globals a funguje to(get), zapol som register globals a tiež to funguje.
Keď to ale zmením na POST tak nič neodošle. Ani keď je reg. globals zapnuté, ani keď je vypnuté.
To fakt nechápem. Ako to, že GET funguje a POST nie?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Neverim. Skus vytvorit uplne jednoduchy formular bez nejakeho mail()u a pouzi print_r($_POST), nieco tam byt musi. Nemoze to robit ten zbytocny enctype=text/plain?
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Uf, vyriešené!
Formulár je v poriadku, ako aj všetko ostatné okrem toho enctype. Tak si to odhalil aj ty. Práve v tom bol pes zakopaný. Po odstránení všetko funguje ako má.
Dozvedel som sa to pred chvíľou tu od Noxa: http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=106087&page=-1#16
Vďaka za námahu!
Inak vôbec nechápem ako si mohol mať vôbec podozrenie na to enctype?
Vlastne ešte jedna otázka. Mám si teda to register globals vypnúť?
A prečo by to malo byť zle, keď je to zapnuté?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Nic ine tam problem robit nemohlo. Defaultny (a fungujuci ) Content-type je application/x-www-form-urlencoded, ten treba odosielat, aby server pochopil, ze POSTom prichadzaju nejake data. Tak nejak si to vysvetlujem.
Register_globals by nemalo skodit, pokial robis aplikaciu tak, ze s tym pocitas, co silne pochybujem . Zapnute register_globals ale znamenaju, ze hocikto ti moze zmenit hocijaku premennu v tvojom skripte, ak ju neprepises. Vypni to.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Ahá!
Tak teda dám na radu aj keď tomu vôbec nerozumiem, ale znie to hrozne(že prepísať mi premennú....).
Naposledy upravil camo dňa 03.02.2010 20:10, celkovo upravené 1
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
Tvoj mail bude pravdepodobne označený ako spam, pretože mu chýbajú hlavičky. Odporúčam použiť PHPMailer
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Pod pojmom hlavicka sa asi nerozumie <head> ak to spravne chapem???
Ale chodi mi to normalne.
Ale aspon viem ze nieco take existuje.
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
Hlavičky ako headers
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Mám s tým mailom ešte jeden problém.
Ak zadám akúkoľvek somarinu ako adresu, vždy mi to napíše, že bola správa odoslaná.
Tá funkcia si nejako neoveruje, či bola naozaj správa odoslaná?
Mám tam podmienku if(mail(.......)) tak nechápem načo tam je?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Podmienka tam je na to, aby sa otestovalo, ci je mozne mail odoslat - napr. ak nie je spravne nastavene php.ini, podmienka nevyhovie.
Mozes si pomocou strstr() ziskat samotnu adresu servera a testovat, ci existuje takato stranka - checkdnsrr(). Plus pridaj regexp.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
No v manuály som sa dočítal toto:,,It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination. ,,
Teda to vyzerá tak, že sa nedá overiť či ten mail bol doručený.
Alebo sa to dá zistiť cez to strstr().
To myslíš ako mailový server? A že by som od neho zisťoval, či tá adresa existuje, či ako?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Myslim to tak, ze skontrolujes, ci existuje webova adresa, na ktorej ta mailova adresa existuje. Ak tam niekto zada blablabla.xy, checkdnsrr vrati false a ty mozes vypisat, ze adresa neexistuje a mail nemusis odosielat. Ale nemyslim, ze to je az take potrebne.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Ďuri:
To si musím najprv pozrieť tú funkciu checkdnsrr().
Nerozumiem tomu výrazu webová adresa na ktorej tá mailová adresa existuje.
To by bolo potom lepšie ako všetky tie overovania, či je zadaná adresa v správnom formáte. To by bolo ideálne...
Ale neviem, či to chápem správne?
V tom manuály by bol na také niečo odkaz nie?
tominator:
Už teda viem čo sú headers.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Hej, blbo som to napisal. Proste ak ti niekto zada adresu cosi@gmail.com, vyberies si odtial gmail.com a skusis sa pomocou checkdnsrr na to gmail.com pripojit.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
To vyzerá dobre! Odpadá kopa kódu s reg. výrazmy aj keď neviem či to bude rýchlejšie. O to mi hlavne ide, aby tá funkcie zvýšila rýchlosť. Čakať na odozvu asi nebude rýchlejšie, že?
Teda chápem to správne, že funkcia overí, či je server v dosahu?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Urcite to nebude rychlejsie. Plus je ten problem, ze ten mail sa aj tak nemusi dorucit, niekto moze pouzit neexistujucimail@google.sk (trebars), ale cez tu podmienku to prejde. A tie regexpy by si aj tak mal zahrnut.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Vŕta mi v hlave, že ak vie PHP overiť existenciu servera a prijať odozvu, mohol by vedieť aj overiť existenciu schránky nie?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
aj keby vedelo, o com pochybujem, dobry server ma nastavene, aby sa nedalo nic zistit, lebo inak by to bol raj pre spamerov...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
No to dáva logiku....
Takže ostanem pri tých regulárnych výrazoch.
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Podla mna si len vytvaras zbytocnu robotu..
Over len spravny tvar emailu a to je vsetko.. vsetko ostatne je zbytocne..
Ja napriklad bezne pouzivam mailinator.
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Prečo by to bola zbytočná robota?
Bolo by to oveľa presnejšie a jednoduchšie ako regulárne výrazy.
Samozrejme keď už viem to čo viem, tak je to zbytočné.
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Co konkretne zasielas v tom emaili ?
Ked niekto ten email chce, tak zada svoj normalny email, a ked niekto ten email od teba nechce, zada nepravy email.. Zbytocne natahujes dlzku behu scriptu pre normalnych ludi..
A ked tam niekto zada neexistujucu adresu, tak co ? Email odosles, ale nikam nepride.. No a? Co sa stalo?
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
No stačí predsa preklep a prejde to cez kontrolu tvojho scriptu. Ale nikam sa nedostane. Taká funkcia by to lepšie dokázala ošetriť.
No a rýchlosť je dosť podstatná vec, takže to riešim stále.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Dnes som počul, že ak mám na str. formulár na odosielanie e-mailov s explicitne zadávanou adresou, že je to brána na odosielanie spamu cez moju stránku. Viem že sa to dá zariadiť, ale zaujíma ma či je to pravda s tým spamom?
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Kebyze konkretne napises, ako ten formular funguje a naco sluzi, vieme ti normalne poradit..
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Stránka: 1 z 2
| [ Príspevkov: 35 ] | 1, 2 |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v JavaScript, VBScript, Ajax | 0 | 464 | 11.09.2011 19:11 ONLINE_SVET | | v PHP, ASP | 4 | 525 | 23.12.2011 12:57 weroro | | v Notebooky a netbooky | 5 | 1497 | 02.08.2011 22:15 KekkeiGenkai | | v Assembler, C, C++, Pascal, Java | 0 | 974 | 08.07.2008 10:37 benq666 | | v Služby a webstránky | 8 | 2905 | 05.06.2009 14:24 ertin | | v PHP, ASP | 5 | 718 | 26.04.2010 12:07 shaggy | | v Služby a webstránky | 21 | 2212 | 17.04.2008 20:44 Freelan | | v Redakčné systémy | 4 | 866 | 30.06.2007 11:44 AVAST | | v Služby a webstránky | 1 | 449 | 20.06.2023 20:25 eMp | | v HTML, XHTML, XML, CSS | 5 | 589 | 06.07.2010 23:16 DARSON | | v Sieťové a internetové programy | 6 | 521 | 01.02.2015 23:34 p4tooo | | v Sieťové a internetové programy | 5 | 541 | 15.10.2011 10:19 f4r0 | | v Správy pre vedenie fóra | 6 | 1389 | 20.08.2007 19:52 JanoF | | v Domény | 8 | 587 | 12.05.2021 16:27 ziarcan03 | | v HTML, XHTML, XML, CSS | 8 | 697 | 04.04.2012 0:37 susedx | | [ Choď na stránku: 1, 2 ] v PHP, ASP | 45 | 2189 | 23.07.2008 18:38 dadmtb |
|