| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal venom2: 14.11.2010 5:41 | |
|
Zdravim, neviem si rady s podmienkou. Na html stranke mam formular s checkboxom (zaskrtavacie policko) a potrebujem, aby jeho hodnota (zaskrtnute alebo nezaskrtnute) bola po kliknuti na odosielacie tlacidlo formulara VZDY zapamatana.
Checkbox vyzera takto:
Kód: <input type="checkbox" name="mriezka" value="ano" <? if( $_POST['mriezka']=="ano" ) echo ' checked="checked" '; ?>> zobraziť mriežku Pokial je stranka otvorena, tak si hodnotu pamata pomocou podmienky IF, ktora je v zdrovom kode vyssie. Ale ak stranku opustim alebo znovu nacitam, hodnota sa strati. Preto som PHP skript doplnil o ulozenie a nacitanie tejto hodnoty zo suboru. Avsak teraz mi to nefunguje tak ako ma. Hodnotu checkboxu mi zo suboru nacitava do premennej $load_mriezka. Ulozenie hodnoty checkboxu do suboru prebehne po kliknuti na odsielacie tlacidlo formulara. V tomto kode ak checkbox odsktrnem, tak po kliknuti na odosielacie tlacidlo mi vrati checkbox zaskrtnuty (malo by ostat nezaskrtnute): Kód: <input type="checkbox" name="mriezka" value="ano" <? if ($_POST['mriezka']) { if ($_POST['mriezka']=="ano") { echo (' checked="checked"'); } } else { if ($load_mriezka=="ano") echo (' checked="checked"'); } ?> > zobraziť mriežku
Zapis aj citanie z/do suboru mi funguje spravne, problem je len v tej podmienke.
Prosim vas pekne, vedel mi s tym niekto pomoct?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
kedze si tu nedal kod, ktorym ukladas hodnoty do suboru a nasledne z neho citas, je tazke povedat, v com je problem - v uvedenych podmienkach chybu nevidim. Mne sa zda, ze ked checkbox odskrtnes, tak pred tym ulozenu hodnotu "ano" v tom subore neprepises... skus si dat vypisovat obsah $load_mriezka
nebolo by lepsie ukladat stav formulara do $_SESSION?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 14.11.2010 14:18 | |
|
tu je kod aj s nacitavanim a ukladanim do suboru, snazil som sa to skratit ako sa dalo
Kód: <? // nacitanie hodnot zo suboru $subor = File("subor.php"); for ($i=0; $i<Count($subor); $i++) { if ($i==11) { $load_mriezka=$subor[$i]; } }
// formular - odosiela data do rovnakeho suboru, v ktorom sa nachadza ?> <form action="subor2.php?odoslane" method="post"> <input type="checkbox" name="mriezka" value="ano" <? if ($_POST['mriezka']) { if ($_POST['mriezka']=="ano") { echo (' checked="checked"'); } } else { if ($load_mriezka=="ano") echo (' checked="checked"'); } ?> >zobraziť mriežku <input type="submit" name="set_premenne" value="OK" style="width: 150px"> </form> <br><br>
<? // prikazy po stlaceni odosielacieho tlacidla formulara if(isset($_REQUEST['set_premenne'])) { // zapis hodnot do suboru $subor= "subor.php"; $fh = fopen($subor, 'w') or die("súbor sa nepodarilo otvoriť"); $stringData = "$mriezka"; fwrite($fh, $stringData); fclose($fh); } //vypis obsahu premennych echo ("mriezka = $mriezka<br>"); echo ("load_mriezka = $load_mriezka<br>"); ?>
hodnota v subore sa prepise, chyba bude zrejme v tom algoritme zapisu/nacitania zo suboru, pretoze mi to nacitava predchadzajucu hodnotu, inymi slovami, ak je checkbox zaskrtnuty a ja ho odskrtnem, tak premenna $load_mriezka = ano (malo by byt nie) a naopak, ak checkbox nieje zaskrtnuty a ja ho zaskrtnem, tak premenna $load_mriezka = nie (malo by byt ano)
a o $_SESSION som uz pocul, ale zatial sa v nej nevyznam, neviem ci to nebude az prilis zlozite
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
problem je v poradi, v akom vykonavas jednotlive kroky. Ty musis po odoslani formulara najpr ulozit nove data, nacitat ich a az nakoniec zobrazit. Teraz nacitas (stare), zobrazis (stare) a na uplnom konci ulozis (nove). Prave preto ti to nefunguje ako ma.
pouzitie $_SESSION je velmi jednoduche. Ak vies pracovat s premennymi, nebudes mat problem. Urcite si o tom nieco nastuduj
Tvoj kod je momentalne obmedzeny len na jedneho pouzivatela. Ak by sa pripojili viaceri, navzajom by si prepisovali obsah suboru, kde mas ulozeny stav formulara, a to asi nechces...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 14.11.2010 23:14 | |
|
rozumiem co myslis, ale asi to nebude potrebne. Potrebujem, aby hodnotu zo suboru nacitalo iba pri novom nacitani stranky, pokial sa neklikne na odosielacie tlacidlo formulara.
Momentalne mam takuto podmienku pri checkboxe:
Kód: <input type="checkbox" name="mriezka" value="ano" <? if( $_POST['mriezka']=="ano" ) echo ' checked="checked" '; ?>> zobraziť mriežku
Tato podmienka si pamata hodnotu checkboxu iba pokial je stranka otvorena, ak sa zavrie alebo refreshne, hodnota sa strati. Preto potrebujem tuto podmienku rozsirit/upravit o to, aby pri novom nacitani stranky nacitalo hodnotu zo suboru. Problemom je, ze checkbox odosiela hodnotu iba ak je zaskrnuty a ja to neviem osetrit, aby pri odskrtnuti checkboxu uz hodnotu zo suboru nenacitavalo.
V skratke:
1. otvorim stranku
2. nacitam hodnotu checkboxu zo suboru
3. po odoslani formulara hodnotu checkbocu urcuje premenna $mriezka a zo suboru uz nic nenacitavam
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
skus pouzit nieco taketo, je to bez suboru, s vyuzitim $_SESSION:
Kód: <?php session_start();
if($_POST) { $_SESSION['mriezka'] = (int)isset($_POST['mriezka']); //ak bol checkbox zaskrtnuty, $_SESSION['mriezka'] obsahuje 1, inak 0 } elseif(!isset($_SESSION['mriezka'])) { $_SESSION['mriezka'] = 0; //uplne prve nacitanie formularu, checkbox je nezaskrtnuty } ?> <form method="post"> <input type="checkbox" name="mriezka" value="ano"<?php if($_SESSION['mriezka']) { echo ' checked="checked"'; }?>> <input type="submit" name="set_premenne" value="OK"> </form>
jednoduchsie, nie?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 15.11.2010 16:48 | |
|
dakujem ti stenley za ochotu ), trosku pogooglim ohladom toho session nech mam paru co je to zac
ale pomoze mi to? lebo ak dobre chapem tvoj kod so session, tak ono si to zapamata zaskrtnutie/nezaskrtnutie checkboxu len ak je stranka otvorena. A ja potrebujem aby si tuto hodnotu pamatalo aj ked stranku vecer zavriem a rano zase otvorim. A to sa da jedine ak tu hodnotu ulozim do databazy alebo do suboru (aspon nic ine mi nenapada ) a to s tym suborom mi pripada lahsie .
Ale mozno to nejako skombinujem
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 15.11.2010 19:06 | |
|
_________________ Sorry za prelkepy |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 19.11.2010 1:28 | |
|
piect kolaciky sa mi velmi nechce lebo nie kazdemu chutia , cize nie kazdy ma cookies povolene, ale vdaka za tip
|
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| CHECKBOX, checked php v PHP, ASP | 16 | 445 | 07.11.2014 13:02 stenley | | PHP DELETE with checkbox v PHP, ASP | 2 | 385 | 24.04.2010 18:57 jtomcik | | php funkcia - podmienka v PHP, ASP | 3 | 380 | 04.06.2014 22:55 BX | | checkbox v PHP, ASP | 2 | 521 | 05.07.2009 13:09 Snacker | | CheckBox v PHP, ASP | 5 | 532 | 19.02.2010 9:01 arno | | CheckBox v Technológia .NET | 5 | 429 | 28.02.2017 17:08 GamerSK | | checkbox v JavaScript, VBScript, Ajax | 6 | 508 | 11.10.2011 22:03 chrono | | checkbox v PHP, ASP | 3 | 563 | 22.04.2009 14:53 drozdo | | Checkbox v Ostatné programy | 2 | 510 | 03.07.2015 11:57 majetan212 | | input - checkbox v PHP, ASP | 1 | 388 | 17.09.2011 21:46 chrono | | checkbox checked v PHP, ASP | 9 | 394 | 07.10.2013 8:42 Elrohir | | CHECKBOX CHECKED v PHP, ASP | 1 | 496 | 21.07.2009 12:15 Ďuri | | $_GET vs. CheckBox v PHP, ASP | 3 | 449 | 31.01.2008 14:36 stenley | | upload suboru checkbox v PHP, ASP | 13 | 640 | 09.05.2009 16:43 kaidžas | | Checkbox array s mysql v PHP, ASP | 10 | 617 | 19.05.2011 11:43 jtomcik | | Podmienka v Technológia .NET | 2 | 396 | 22.02.2017 14:31 GamerSK |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|