| Autor | Zpráva | ||
|---|---|---|---|
| Lenka22 Profil * |
#1 · Zasláno: 3. 8. 2008, 09:15:11
Prosím, chtěla bych se zeptat, existuje nějaká možnost, jak uchovávat hodnoty ve formulářích při kliknutí na tlačítko "submit"?
Přesněji mám formulář, který začíná <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Potřebovala bych, aby při obnovení zůstaly zachovány údaje na stránce tak, jak byly před kliknutím na toto tlačítko. Resp. mám nad tímto formulářem ještě jeden, kde se zadávají uživatelé. A tento údaj (zvolený uživatel) se mi při obnovení stránky změní na "Všichni". Chtěla bych, aby tam zůstal ten zvolený. Jaksi k tomu nemůžu nic najít.. Děkuju moc. |
||
| Mastodont Profil |
#2 · Zasláno: 3. 8. 2008, 09:36:45
Po odeslání formuláře a jeho zpracování na serveru je třeba přesměrovat. Odeslané údaje se dají uložit třeba do session a z ní poté načíst. Na klíčová slova redirect, session, formulář ti nějaké stránky určitě vyjedou.
|
||
| Lenka22 Profil * |
#3 · Zasláno: 3. 8. 2008, 10:25:10
Ehm, tak teď jsem z toho mírně vedle..
Přesměrovat který formulář? Mám dva, zjednodušeně vypadají nějak takto: <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <select name="user_id"> <option value="0">Vše <option value=DALSI HODNOTY>JEDNOTLIVI UZIVATELE NACITAJICI SE Z DB </select> <input type="submit" name="zobrazit" value="zobrazit"> </form> A druhý: <form name="bug_action" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
while ($row = db_fetch_array($result)) {
echo "<input type='checkbox' name='row".$row['id']."'>";
echo $row['realname'];
}
<input type='submit' name='oznacit' value="Označit">
</form>A přesměrovat myslíš v "action" u formu, nebo potom pomocí header? Děkuju. |
||
| Lenka22 Profil * |
#4 · Zasláno: 3. 8. 2008, 10:29:12
Potřebovala bych, aby kliknutí na tlačítko "Označit" neovlivnilo první formulář. Aby při případném vybrání něterého uživatele tam ten daný uživatel zůstal vybraný, dokud se nevybere jiný.. Stačí když mě nakopneš, co mám špatně. Mám změnit "action" u formu? Nebo přidat někde <input type="hidden"> a pomoct si tímto?
Díky. |
||
| Mastodont Profil |
#5 · Zasláno: 3. 8. 2008, 10:57:53
A ty dva formuláře jsou v jedné stránce nebo jak na sebe navazují?
|
||
| Lenka22 Profil * |
#6 · Zasláno: 3. 8. 2008, 11:10:25
Ano, mám je na jedné stránce. Vadí to?
|
||
| Lenka22 Profil * |
#7 · Zasláno: 3. 8. 2008, 11:11:46
Mám ten první <form>, za ním zpracování toho druhého formuláře, a za tím ještě druhý <form>..
|
||
| Mastodont Profil |
#8 · Zasláno: 3. 8. 2008, 11:22:01
Tak to ti neporadím, protože tohle nepoužívám. Když už, tak to dělám postupně, čili zpracuji první formulář a na jeho základě odešlu druhý.
|
||
| Lenka22 Profil * |
#9 · Zasláno: 3. 8. 2008, 11:23:39
Tak jo, zkusím to rozdělit do dvou stránek..
|
||
| Mastodont Profil |
#10 · Zasláno: 3. 8. 2008, 11:25:53 · Upravil/a: Mastodont
Klidně to můžeš mít v jednom souboru, ale do HTML posílej vždy jen jeden formulář. Dva najednou stejně zpátky z prohlížeče na server neodešleš ... ukázku máš třeba na
http://www.waiheke.co.nz/php/several_form/index.htm |
||
| Lenka22 Profil * |
#11 · Zasláno: 3. 8. 2008, 11:38:12
Zkusila jsem to rozdělit do dvou stránek, ale mám teď problém, že u toho druhého formuláře nevidím i ten první :-) Ono to totiž vypadá takto: obrázek
V závislosti na zvoleném uživateli se objeví checkboxy s jeho úkolama. Poradíš mi, prosím, jestli bude v tomto případě lepší to rozdělit na dvě stránky, nebo dát dva formuláře do jedné stránky? Děkuju moc. |
||
| Lenka22 Profil * |
#12 · Zasláno: 3. 8. 2008, 11:48:23
Jak si mi poslal ten odkaz na http://www.waiheke.co.nz/php/several_form/index.htm
tak tam budu mít asi stejný problém. Větev else to rozdělí tak, že uvidím buď rozbalovací lištu, nebo checkboxy s úkolama... Ale já bych potřebovala vidět obojí, aby nemusel správce složitě mezi formulářema přepínat. |
||
| Medvídek Profil |
#13 · Zasláno: 3. 8. 2008, 12:22:13
Nebo použij SESSION .. ulož si hodnotu toho prvního formuláře a kontroluj, zda-li byla změněna. Pokud ne, tak session zustane stejne, pokud ano, tak ji zmenis na aktualni hodnotu :)
|
||
| Lenka22 Profil * |
#14 · Zasláno: 3. 8. 2008, 12:26:36
Medvídek
První formulář už mi odesílá $_SESSION['user'], což je ID právě vybraného uživatele v rolovací liště. Ale jak zkontroluju, jestli byla SESSION změněna? Děkuju. |
||
| Medvídek Profil |
#15 · Zasláno: 3. 8. 2008, 12:52:38
No pokud ho někdo změní ne ?
|
||
| Lenka22 Profil * |
#16 · Zasláno: 3. 8. 2008, 12:56:41
Medvídek
a jak to zkontroluju v kódu? |
||
| Lenka22 Profil * |
#17 · Zasláno: 3. 8. 2008, 13:06:38
když si do nějaké proměnné přiřadím hodnotu ze session, a pak zvolím jiného uživatele, vloží se do session jeho ID a přepíše se na tu samou hodnotu i ta proměnná..
|
||
| Lenka22 Profil * |
#18 · Zasláno: 3. 8. 2008, 15:17:55
Tak už nic, už se mi to povedlo :-)
Až teď mě napadlo, že dva formuláře jsou tam zbytečně a dala tam jen jeden, který obsahuje vše. A jede to perfektně. Ale i tak moc děkuju za rady. |
||
|
Časová prodleva: 17 let
|
|||
0