Autor Zpráva
Fikus
Profil
Jak předávat parametry přes více stránek? = pozici, na které se právě uživatel webu nachází = s kterými daty právě pracuje
Metody, které mě napadají:
1) ukládání pozice (parametrů) pomocí session
problém pokud např. pracuji s více objednávkami a každou si otevřu do nového panelu = nastaveni session odpovídá poslední otevřené objednávce, ale pokud začnu upravovat již dříve otevřenou objednávku dojde ke kolizi
2)předávat parametry v url
problém snadno modifikovatelné ze strany uživatele = číslo objednávky přepíše na jiné a může vesele upravovat jinou objednávku, která mu nepřísluší. Testování zda má práva na úpravu dané objednávky mi připadá hrozná práce navíc, nehledě na to, že url vypadá hrozně.

Lze problém řešit nějak efektivněji a spolehlivěji?
Lze pomocí headeru location předávat postem? nebo pouze pripsanim ?param=value... (=get)
jrm
Profil
Nápad?
$_SESSION['cis_obj']['polozka_objednavky']
Fikus
Profil
Nerozumím, cos mi chtěl naznačit, ale připadá mi to stejné jako mnou popsaná varianta 1)
otevřu v panelu objednávku číslo1 a třeba položku 2 = session[1][2]
pak si otevřu objednávku 2 do dalšího panelu = session[2][unset]
a třeba položku zase číslo 2 = session[2][2]
teď se vrátím do prvního panelu, provedu nějaké změny a odešlu formulář, tím se ale přepíše hodnota ve druhé objednávce a nikoliv měněná objednávka 1
jrm
Profil
Hmm, myslel jsem mít pro každou objednávku vlastní proměnné, to by se polem vyřešilo. Nedošlo mi, že máš jeden společný formulář ve více panelech. A nelze dát formuláři jméno podle čísla objednávky? Pak by bylo i víc formulářů...
Fikus
Profil
panely jsem měl namysli ve ff nebo ie = uložení parametrů do session není imunní proti otevření v prohlížeči toho samého okna vícekrát.
objednávky jsou načítané z databáze, takže mají samožřejmě všechny stejný vzhled (formulář) a jejich počet se dynamicky mění

btw objednávky byl jen příklad pro představu, jde mi o obecný problém, kdy máš nějaký výpis struktur z databáze a postupně se proklikáváš různými stránkami (tabulkami v db) a měníš různé údaje.. na tuto procházku je potřeba si pamatovat, ke kterým nadřazeným položkám v tabulkám patří ta právě měněná. To lze udělat velmi elegantně s session, ale právě se zmíněným problémem, který nevím, jak obejít.
Fikus
Profil
kdo hledá najde:) http://php.vrana.cz/informovani-uzivatele-o-vysledku-operace.php
PAVEL PROCHAZKA.zde.cz
Profil *
Fikus kdyz pouzijes predavani pres url nevo ve stylu: indax.php?objednavka=jkjfkfog565
tak budes mejt potom promennou objednavka ktera bude obsahovat retezec: jkjfkfog565
to jsou pozadovana zakodovana data, ktera muzou obsahovat cokoliv.
Doporucuji si udelat neco takoveho:

pro kodovani:
$sNazevSouboru = Kodovani_Dat($citlivadata.'߀'.$Crc);

kde promena: $citlivadata obsahuje treba cislo objednavky, nesleduje jednoznacne inedtifikujici retezec pro oddeleni jednotlivich promennych a nakonec neco cim zjistis zda nekdo s daty nemanipuloval.

pro dekodovani:
    list($id, $sCrc)=explode("߀",Dekodovani_Dat($_REQUEST["id"]));

}
if ($sCrc == crc){
.........
}


toto dekoduje data a funkce explode zase rozseka retezec podle oddelovace a naskladaje do promennych ktere jsou uvedeny v seznamu funkce list.
pomoci tohoto postupu predavam i nekolik promennych najednou a faka to ok.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: