Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
Autor | Správa |
---|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
Ahojte,
potrebova by som poradiť v nasledovnom. Mám napr. nasledovný jednoduchý formulár:
Kód: <form id="form1" name="form1" method="post" action=""> <select name="clanky" size="1" id="test"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </label> </form>
no a potreboval by som nasledovné:
- ak si niekto zvolí možnosť 1, tak do premennej $xyz sa načíta 1 (tú premennú ďalej využijem v php)
- ak si niekto zvolí možnosť 3, tak premenná $xyz sa bude rovnať 3 atď...
V PHP následne chcem podľa počtu zadefinovanej v premennej $xyz kontrolovať počet vypísaných informácií.
Vie mi niekto poradiť?
Ďakujem!
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Optionom nastav atributy value a potom pracuj s premennou $_POST['clanky']. Toto su zaklady prace s formularmi, mal by si si najprv pozriet nejaku literaturu.
Kod vkladaj do znacky [code].
|
|
Registrovaný: 01.12.09 Prihlásený: 20.04.19 Príspevky: 862 Témy: 26 | 26 Bydlisko: Žilina |
A čo sa týka potom toho následného výpisu, nastaviť aby sa cyklus opakoval kým nedosiahne hodnotu $xyz
_________________ PC :ASUSTeK M2A-VM, AMD Phenom X3 8650 AM2 @ 2,3 Ghz, 4 GB RAM DDR2 1800 MHz, SAPPHIRE HD 6770 VAPOR-X 1GB DDR5, 400W Zdroj, 500 GB HDD, Windows Vista 64 bit
Notebook : Asus EEEPC 1201NL, intel Atom N270 512 KB L2 Cache 533 MHz FSB @ 1,6 Ghz, 1 GB DDR2 RAM, nVidia ION, 320 GB HDD, Windows XP 32 bit
Iná technika : LG P500 (806 Mhz, Android 2.3.3 Gingerbread, root, JIT), Koss Pathfinder, kedysi iPhone =( |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
Ďuri píše: Optionom nastav atributy value a potom pracuj s premennou $_POST['clanky']. Toto su zaklady prace s formularmi, mal by si si najprv pozriet nejaku literaturu. Kod vkladaj do znacky [code].
ok, takže mám to teraz spracované nasledovne:
Kód: <form action="spracuj.php" method="post"> <select name="clanky" size="1" id="clanky"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" /> </form>
a spracuj.php je: Kód: <?php $abc = $_POST["clanky"]; echo "$abc"; ?>
Podla toho je zrejme, ze v premennej abc mam to, co som chcel...
Co potrebujem doriesiť je:
1/ odoslanie formulára bez potvrdenia tlačítkom submit, t.j. automaticky po vybrati hodnoty
2/ spracovať formulár a prideliť predmetnú hodnotu do abc priamo na stránke kde je formular, t.j. premennu abc potrebujem mat vycislenu na stranke kde je formular, nie v externom subore spracuj.php...
neviem, com sa vyjadril zrozumiteľne?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
To sa riesi Javascriptom (AJAX).
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 | 30 Bydlisko: Bratislava |
Ďuri - nemusí ísť len o AJAX, môže tam byť obyčajný submit, akurát že formulár odošle cez javascript po zmene.
A ak nechce mať spracovanie v spracuj.php, tak nie je problém to spracovanie formulára urobiť priamo v tom súbore, kde je aj formulár, však?
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
shaggy píše: Ďuri - nemusí ísť len o AJAX, môže tam byť obyčajný submit, akurát že formulár odošle cez javascript po zmene. A ak nechce mať spracovanie v spracuj.php, tak nie je problém to spracovanie formulára urobiť priamo v tom súbore, kde je aj formulár, však?
Áno, presne o takéto riešenie mi ide. Ale ako to spraviť? Nejaký konkrétny návrh?
Ďakujem pekne!
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 | 30 Bydlisko: Bratislava |
Však v mojom príspevku máš návrh, ako to urobiť.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
shaggy píše: Však v mojom príspevku máš návrh, ako to urobiť.
ok, už to mám aj s tým ajaxom. Zostal mi však nasledovný problém:
- premennú mám stále načítanú v spracuj.php
- keď vypíšem články, ktoré mám spracované v druhom php, napr. vystup.php, akým spôsobom sem môžem dostať hodnotu premennej zo spracuj.php?
Ide mi o to, že:
v spracuj.php sa urci hodnota premennej i, napr i=4
vo vystup.php potrebujem pracovat s tou premennou i, pretoze tuto hodnotu porovnavam aby som urcil pozadovany pocet vypisanych clankov...
Vie niekto pomoct?
|
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 | |
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
venom2 píše: skus pouzit COOKIES alebo SESSIONS
aha, to sa zdá byť dobrý nápad, ideálne asi to sessions... S tým som ale ešte nerobil, ako to dotiahnuť správnou syntaxou...
Keď teda v subore spracuj.php mam zadefinovanu premennu $abc, ako hodnotu tejto premennej cez session dostanem do toho hlavného súboru s formulárom? - napr. formular.php?
|
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 |
rovnako ako keby si to chcel dostat v tom istom subore, ibaze musis to robit cez pole session, pokial obidva tvoje php skripty budu umiestnene na rovnakom serveri a nezavries prehliadac, hodnota session ostane zachovana.
vyskusaj si toto, malo by ti to fungovat:
v tom spracuj.php si zadefinuj premennu
Kód: $_SESSION['abc'] = 123; potom vo formular.php si ju daj vypisat Kód: echo ("hodnota abc je: " . $_SESSION['abc']);
inak podla nazvov skriptov vidim ze samotny formular a spracovanie mas rozdelene do dvoch suborov, da sa to vsetko spravit aj v jednom subore, pozri si funkciu isset() pripadne empty(), urcite sa ti to skor ci neskor zide
|
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
[quote="venom2"]rovnako ako keby si to chcel dostat v tom istom subore, ibaze musis to robit cez pole session, pokial obidva tvoje php skripty budu umiestnene na rovnakom serveri a nezavries prehliadac, hodnota session ostane zachovana.
vyskusaj si toto, malo by ti to fungovat:
v tom spracuj.php si zadefinuj premennu
Kód: $_SESSION['abc'] = 123; potom vo formular.php si ju daj vypisat Kód: echo ("hodnota abc je: " . $_SESSION['abc']);
----------------------
dakujem Ti pekne. Pravdupovediac ten postup veľmi nefunguje, neviem ale prečo? Keď spustím ako prvý ten súbor kde mám formulár, tam nastáva prvý problém, pretože ešte bez odskoku na spracuj.php je session abc bez hodnoty. Následne cez formulár vyberiem počet, skočí do spracuj.php a vráti sa, avšak pri vypísaní echa session proste nič nevypíše... Kde môže byť chyba?
Musí to byť teda tak, že echo session vypíše až potom, čo sa urobí pred tým odskok na spracuj.php. Ďalej je otázne, prečo hodnotu zo session systém nevypíše...?
|
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | 27 |
neviem preco ti to nefunguje, ale ja som si to teraz odskusal a slapalo to, pravdepodobne si do tych php sktiptov nenapisal prikaz pre zacatie session, ale to je predsa napisane v tom navode na linuxsofte, ktory som ti tu dal, ja som ti napisal len hruby postup. Cize ak to tam nemas, tak na zaciatok vsetkych suborov, pripadne ak mas sablonu tak do sablony vloz prikaz Kód: <? session_start(); ?> trosku sa nudim tak ti sem napisem cely kod, ktory mne funguje: php1.php: Kód: <? session_start(); ?> <!-- zacatie session --> <form action="php1.php?odoslane" method="post"> <!-- odoslanie formulara do toho isteho suboru --> <input type="text" name="premenna" size="10"> <!-- vstupne textove pole --> <input type="submit" name="odoslat" value="OK"> <!-- tlacidlo pre odoslanie formulara --> </form> <? if(isset($_REQUEST['odoslat'])) //ak sa stlacilo tlacidlo s menom "odoslat" vykonaj... { $_SESSION['premenna'] = $_POST['premenna']; // priradenie premennej do session echo ("hodnota premennej je: " . $_SESSION['premenna']); //vypis session premennej } ?> a takisto mi to zobrazi aj v druhom subore, php2.php: Kód: <? session_start(); echo ("hodnota abc je: " . $_SESSION['premenna']); ?>
|
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 | 29 |
venom2 píše: neviem preco ti to nefunguje, ale ja som si to teraz odskusal a slapalo to, pravdepodobne si do tych php sktiptov nenapisal prikaz pre zacatie session, ale to je predsa napisane v tom navode na linuxsofte, ktory som ti tu dal, ja som ti napisal len hruby postup. Cize ak to tam nemas, tak na zaciatok vsetkych suborov, pripadne ak mas sablonu tak do sablony vloz prikaz Kód: <? session_start(); ?> trosku sa nudim tak ti sem napisem cely kod, ktory mne funguje: php1.php: Kód: <? session_start(); ?> <!-- zacatie session --> <form action="php1.php?odoslane" method="post"> <!-- odoslanie formulara do toho isteho suboru --> <input type="text" name="premenna" size="10"> <!-- vstupne textove pole --> <input type="submit" name="odoslat" value="OK"> <!-- tlacidlo pre odoslanie formulara --> </form> <? if(isset($_REQUEST['odoslat'])) //ak sa stlacilo tlacidlo s menom "odoslat" vykonaj... { $_SESSION['premenna'] = $_POST['premenna']; // priradenie premennej do session echo ("hodnota premennej je: " . $_SESSION['premenna']); //vypis session premennej } ?> a takisto mi to zobrazi aj v druhom subore, php2.php: Kód: <? session_start(); echo ("hodnota abc je: " . $_SESSION['premenna']); ?>
Ach áno, nebol som celkom pozorný, zabudol som to session spustiť. Ok, vyskúšam to..., som rád, že si sa nudil , veľmi Ti ďakujem!
|
|
Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 2 | 502 | 22.07.2008 21:25 funny102 | | v Assembler, C, C++, Pascal, Java | 2 | 341 | 04.03.2013 23:38 Grash | | v JavaScript, VBScript, Ajax | 10 | 1168 | 10.07.2010 7:31 coldak | | v Databázy | 9 | 1667 | 11.07.2006 13:20 mokus | | v PHP, ASP | 11 | 812 | 11.04.2008 16:54 chrono | | v JavaScript, VBScript, Ajax | 4 | 549 | 04.04.2011 20:51 neviemco | | v JavaScript, VBScript, Ajax | 9 | 1130 | 05.03.2008 13:45 stenley | | v JavaScript, VBScript, Ajax | 10 | 541 | 19.04.2012 12:46 susedx | | v PHP, ASP | 5 | 968 | 02.07.2006 21:50 Freelan | | v Grafické programy | 5 | 505 | 25.02.2011 14:10 Willi1 | | v HTML, XHTML, XML, CSS | 3 | 466 | 28.07.2010 20:25 shaggy | | v PHP, ASP | 12 | 1071 | 13.03.2008 8:23 wotan | | v Delphi, Visual Basic | 17 | 744 | 02.04.2012 17:04 jucho29 | | v PHP, ASP | 15 | 1185 | 03.09.2011 21:57 camo | | v Delphi, Visual Basic | 2 | 609 | 15.04.2010 12:28 coldak | | v Sieťové a internetové programy | 4 | 487 | 09.04.2020 20:20 tatko Tom |
|