RE: PHP

From: Martin Svarovsky (martin.svarovsky@ileo.cz)
Date: 20. 09. 2001, 13:28 CEST


>v headeru to nejde
>ale muzes udelat neco jako <form target=ram action=...>
>--
>Adam Rambousek

Ano, tak to mam ale prakticky priklad:
v hlavnom rame je obsah kosika s moznostou upravit kusy, kliknem na
tlacitko a prepocita sa suma kosika, co sa zobrazi v spodnom rame, ale
je tam aj tlacitko na odoslanie objednavky, a vystup sa zasa musi
zobrazit v hlavnom rame. Asi budem na odoslanie musiet pouzit obrazok...
Alebo:
v hlavnom rame mam moznost zmazat polozku, cize tu musi polozka vypadnut
a zaroven sa musi prepocitat cena v spodnom rame. To je to, ze neda sa
vypisat nieco na obrazovku a potom urobit Header (Location...), mhm
mozno cez javascript? Pozriem Kabov FAQ.

Lasky

Jestli to dobre cjhapu, tak pomoci obou tlacitek potrebujes zpracovavat
stejne udaje.
Zatim vidim dve moznosti:
1. Kazde tlacitko ma svuj formular - jeden s viditelnymi elementy, druhy
s neviditelnymi (hidden), treba se shodne nazvanymi polozkami. Kazdy
form ma samozrejme jinou akci a jiny target. Pri kliknuti napr. na
prepocet kosiku se provede normalni submit formulare s targetem dolni
frejm, pri kliknuti na odeslani objednavky se spusti javascript, ktery
neviditelnym polozkam 2. formulare priradi hodnoty z viditelneho 1.
formulare (document.form2.polozka1.value =
document.form1.polozka1.value...) a teprve pak se form odesle. Tohle
reseni ma tu vyhodu, ze muzes formulare odesilat i pres POST.

2. Jedno z tlacitek je fake - obrazek, nebo tlacitko nesprazene s tim
formularem, a po kliknuti se provede JS akce - posklada se URL (search
cast) z nazvu a hodnot polozek formulare, a s timto URL se refreshne
dolni (hlavni) okno: top.frames.dolnifrejm.location=URL.
URL vypada asi nejak takhle:
http://mujserver/akce.php?polozka1=xx&polozka2=yy <-- z toho si to
PHPcko normalne vykousne a promenne s temi nazvy zpracuje.

3. Moznost navic (slozitejsi):
Ukladej si hodnoty do cookies, a pak si je PHPckem cti. V tom pripade
muzes pouze refreshovat pri kazde zmene spodni frejm
(top.frames.dolnifrejm.location=blablabla)

4. Ted me napadla jeste jedna - nejslozitejsi:
Obsah kosiku si ukladej na serveru do databaze spolu se session id, a
pak si muzes jenom ty frejmy refreshovat bez nejakych predavani dat.
Vyhoda: obsah kosiku muze zustavat ulozeny na serveru, uzivatel se k
nemu muze vratit, a ty mas prehled o vsech kosikach.
Vice o tomto tematu viz PHPLIB (Kosek) 


Martin



This archive was generated by hypermail 2.1.2 : 20. 09. 2001, 13:29 CEST