Autor | Zpráva | ||
---|---|---|---|
vazo Profil |
#1 · Zasláno: 3. 10. 2014, 14:03:10
Ahoj,
mohl by jste mi prosím někdo objasnit, jakto že se v různých prohlížečích chová tato stránka různě? http://www.vhprint.cz/sdhnahorany/u6/upload_fotek.php Když se podíváte na porovnání Firefoxu a Opery (viz. screeny níže), tak je patrné, že se zřejmě neodesílá pár záznamů z formuláře. Kód, kde se kontrolují odesílaná data z formuláře a kde nastává chyba je zde: if ($_POST['druh_akce'] == "soutez") { if ((isset($_POST['druh_souteze'])) and (isset($_POST['cas_muzi'])) and (isset($_POST['cas_zeny'])) and (isset($_POST['cas_deti']))) { $soutez = "ok"; if (($_POST['druh_souteze'] == "") or ($_POST['druh_souteze'] != "Primator liga" and $_POST['druh_souteze'] != "Okrsek" and $_POST['druh_souteze'] != "Mimo okrsek" and $_POST['druh_souteze'] != "Vychodoceska" and $_POST['druh_souteze'] != "Podorlicka" )) { $hlaska .= '<span class="success">Nebyl vybrán druh hasičské soutěže.</span></br>'; $soutez = ""; } else { //upravit - veteráni $soutez = "ok"; } } else { $hlaska .= '<span class="success">Blíže nespecifikovaná chyba při určování bližších informací o hasičské soutěži.</span></br>'; } } Můžete mi tedy prosím někdo říci, proč ve Firefoxu vše funguje správně a v ostatních prohlížečích ne? Jsou zde nějaké známé rozdíly mezi Firefoxem a ostatními prohlížeči co se týče zpracování javascriptu (ajaxu) a PHP? Předem děkuji. |
||
juriad Profil |
V Chromu se odesílá toto:
nazev_akce=&druh_akce=soutez&prepinac_foto=-+Vyber+jednu+mo%C5%BEnost+-&prepinac_video=-+Vyber+jednu+mo%C5%BEnost+-&datum=&zasah_popis=&popis=&url_of_video1=&url_of_video2=&url_of_video3=&url_of_video4=&pokracovat=ne Ve Firefoxu toto: nazev_akce=&druh_akce=soutez&prepinac_foto=-+Vyber+jednu+mo%C5%BEnost+-&prepinac_video=-+Vyber+jednu+mo%C5%BEnost+-&datum=&druh_souteze=Primator+liga&cas_muzi=10%3A00+(%3Cb%3E1.%3C%2Fb%3E+z+20)&cas_zeny=+-+&cas_deti=+-+&zasah_popis=&popis=&url_of_video1=&url_of_video2=&url_of_video3=&url_of_video4=&pokracovat=ne Ty totiž v JS odesíláš dva požadavky na server. První je OK - vrací kus formuláře a ten druhý toho vrací mnohem více včetně tohoto: <input type="hidden" id="cas_muzi" name="cas_muzi" value=""> Proč vůbec potřebuješ volat serverový skript pro změnu typu akce? Můžeš si přece vygenerovat úplný formulář, a pak jen zobrazovat a skrývat políčka. Ušetříš si tím spoustu nervů a celkově to bude spolehlivější. A také formulářová pole patří do <form>, který tam nikde nevidím. |
||
vazo Profil |
#3 · Zasláno: 3. 10. 2014, 15:09:20
Díky za reakci... jdu prozkoumat, proč se odesílají jen některá formulářová políčka respektive proč se odesílají dvakrát.
Co se týče toho skrývání, tak nad tím také zkusím zapřemýšlet, ale bojím se, že když se do toho pustím, tak že budu muset nakonec stejnak předělat vše. :-/ Problém je spíš v tom, že potřebuji min tři rozdílná tlačítka na odeslání formuláře, které vykonají rozdílné akce a přenášejí rozdílné informace a nejsem si zcela jist, jestli by to skrývání políček vyřešilo, zkusím popátrat. Btw je tady ještě také rozdíl, zdali vybereš, že chceš nahrávat fotky či nikoliv, pak totiž jsi přesměrován na jinou stránku, kde vybíráš fotky a samozřejmě všechny vyplnění údaje z formuláře musíš mít stále k dispozici... Ale díky, rozhodně jsi mě posunul dále v bádání. |
||
juriad Profil |
#4 · Zasláno: 3. 10. 2014, 15:16:57
vazo:
Můžeš klidně mít jeden jediný formulář s jedním odesílacím tlačítkem. Nemusíš přece pokaždé data odesílat jinému skriptu. Můžeš vytvořit jeden skript, který přijme každý požadavek a následně zavolá příslušnou funkci podle jeho typu. Je přece triviální podmínka na serveru: if ($budeChtitPridatFotky) { header('Location: pridanifotek.php'); } else { header('Location: index.php'); } |
||
vazo Profil |
#5 · Zasláno: 4. 10. 2014, 12:19:23
Jo díky, taky nad tím přemýšlím, že by to možná šlo udělat tímhle způsobem... No hurá do úprav.
|
||
Časová prodleva: 10 let
|
0