Autor | Zpráva | ||
---|---|---|---|
milbr Profil * |
#1 · Zasláno: 29. 1. 2010, 12:38:49
Přeji pěkný den,
chtěl bych vás poprosit o radu, mám čtyři domény na jednom serveru na všech mám stejný script na odeílání formulářů ze stránek. Ze dvou domén je odesílání bez problémů a na dvou doménách mi script hlásí již první nesplněnou podmínku při kontrole tvaru emailové adresy. if ((ereg("^.+@.+\..{2,4}$", $_POST['formemail']))) Když odmažu první podmínku hlásí mi to nesplněnou druhou podmínku (spam kontrola) atd.. Nevíte prosím k jakým změnám mohlo dojít na serveru, že scripty přestaly fungovat jen u některých domén? Děkuji moc za radu |
||
AM_ Profil |
#2 · Zasláno: 29. 1. 2010, 13:07:59
funkce ereg() je zastaralá, doporučuji nahradit preg_match (má trochu jinou notaci reg. výrazu):
preg_match("/^.+@.+\..*$/", $_POST['formemail']) velikost doménového jména 1. řádu bych neomezoval na 2-4 znaky, není žádné pravidlo, proč by nemohlo někdy existovat delší. V tom ale stejně problém nebude, ačkoli ereg() je zastaralá, stále funguje. Výraz je také správně napsaný, takže pokud se tahle podmínka vyhodnocuje jako false, je problém jinde. Přes var_dump ověř, že: - před vykonáním podmínky je v $_POST['formemail'] to, co má - funkce skutečně vrací false (a nedochází k selhání jinde) |
||
milbr Profil * |
#3 · Zasláno: 29. 1. 2010, 13:24:50
AM:
Děkuji za odpověď, když si vypíšu $_POST['formemail'] do výstupu, tak na serveru není vypsána zadaná hodnota. Vypadá to tedy, že u některých domén selhává odesílání POST DATA. Děkuji Milan |
||
AM_ Profil |
#4 · Zasláno: 29. 1. 2010, 14:29:03
milbr:
„Vypadá to tedy, že u některých domén selhává odesílání POST DATA.“ to jsem ještě neviděl, problém bude jinde. to by na těch serverech neběhalo skoro nic. Nedávno se tady řešilo něco podobného a příčina byla v tom, že zpracující skript se za jistých podmínkek přesměrovával přes header("location: ..."), konkrétně myslím kvůli odstranění koncového lomítka z adresy. A při tom se pochopitelně POST data ztratila. |
||
milbr Profil * |
#5 · Zasláno: 29. 1. 2010, 17:42:25
AM:
Díky, je ale divné že pomalu půl roku vše běhalo bez problémů, a na locale mi ta také vše funguje. do indexu vkládám formulář php scriptem <form action="index.php?sekce=2" method="post" class="kontakty_form">..............</form> V indexu mám podmínku if($_GET['sekce'] == "2") { include "obsah/send.php"; } Díky všem za radu, Milan |
||
milbr Profil * |
#6 · Zasláno: 29. 1. 2010, 21:14:41
AM:
Děkuji za radu, vše vyřešeno, chyba byla v .htaccess a zadané cestě ke zpracujícímu scriptu. Přeji všem pěkný večer. |
||
Časová prodleva: 14 let
|
0