Kezdőoldal » Számítástechnika » Programozás » (HTML, PHP) Hogy lehet megcsin...

(HTML, PHP) Hogy lehet megcsinálni hogy a választólista értéke a frsissites utan is megmaradjon?

Figyelt kérdés

<form method="GET" action="">

<select name="list">

<option value="Kolbász">Kolbász</option>

<option value="Hurka"></option>

</select>

<input type="submit" value="send" name="send">

</form>


if(isset($_GET['send'])) {

$list = $_GET['list'];

echo $list;

}


Eddig azt csinalja ha megnyomom a gombot, ugye kiirja a $list-et, De a valaszto listaban eltunik melyiket valasztottam, szoval visszaugrik az első option-ra, Azt hogy lehet hogy ne tunjenek el frissites utan(Submit,és utanna ha lefrissitem az oldalt, akkor ugyis megmaradjon az érték)


2014. febr. 6. 13:59
1 2
 1/15 anonim ***** válasza:

<option value="Kolbász" selected>Kolbász</option>


A "trükk" az, hogy a "selected" attribútumot ahhoz az option taghez adod hozzá, amelyiknek az értéke megegyezik a felhasználó által elküldöttel.


Ez persze nem 100%-os megoldás. A komolyabb verzióhoz már session kezelése is szükséges (így tárolhatod a user által kiválasztott értéket).


Bár kezdőként még az ilyen egyszerű feladatok is bonyodalmat okozhatnak, hadd javasoljam, hogy majd ha már kissé magabiztosabban megy a dolog, ásd bele magad az MVC (Model-View-Controller) nevű design patternbe, mert nagyon sokat javíthat a munkád minőségén és a dolgodat is meg tudja könnyíteni számos esetben.

2014. febr. 6. 14:29
Hasznos számodra ez a válasz?
 2/15 anonim ***** válasza:

de a sessionös megoldásnál vigyázni kell, nagyon tudom utálni mikor nincs egy alapállapot gomb, és visszával sem tűnik el...


ha nem sessionnel csinálod, és hosszabb a selected, szerintem tedd egy tömbbe a valuekat, foreachel kiteszed, és ellenőrzöd vane és az-e a get['list'], ha igen akkor selected

2014. febr. 6. 15:17
Hasznos számodra ez a válasz?
 3/15 A kérdező kommentje:

Igy gondoltad?


<?php

$lehetosegek = array(

1 => 'Akciós',

2 => 'Nem akciós',

'' => 'Mindkettő'

);


$selected = isset($_GET['akcio']) ? $_GET['akcio']:'';


?>


<select name="akcio">

<?php foreach($lehetosegek as $value => $label): ?>

<option value="<?= $value ?>"<?= $value == $selected?' selected':'' ?>>

<?= $label ?>

</option>

<?php endforeach; ?>

</select>


De ez valamiert nem joo:/ nem tudja valaki hogy mi a hiba?

A select listtába "->" látszanak, és nem a value

2014. febr. 6. 15:20
 4/15 uno20001 ***** válasza:
Nekem működik, nem tudom mi lehet nálad a hiba.
2014. febr. 6. 18:23
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:
Miért nem ajax-szal csinálod? Akkor nem kellene az újratölteni.
2014. febr. 6. 20:19
Hasznos számodra ez a válasz?
 6/15 A kérdező kommentje:
Latszanak az eredmenyek , es kitudod valasztani meg minden?
2014. febr. 6. 20:32
 7/15 A kérdező kommentje:

Nekem ennyit csinál az a kód amit irtam:

[link]

2014. febr. 6. 20:35
 8/15 anonim ***** válasza:
#1: ebben a konkrét feladatban hogyan segíthet az MVC, vagy mi az MVC-s megoldás?
2014. febr. 6. 20:42
Hasznos számodra ez a válasz?
 9/15 anonim ***** válasza:

#8: Ha nem tudod, az elég nagy baj, ha csak szőrszálhasogatnál, annak meg nincs sok teteje.


Nos, úgy, mint bármelyik másik esetben: az eltérő problémákat különválasztod és külön is kezeled. A kód átláthatóbb, a hibák kisebb eséllyel tudnak elbújni, a problémák megoldásai is kézenfekvőbbek, mindenki happy.


Nem szeretnék most idelapátolni egy komplett megoldást, mert a poszt amúgy sem erről szólt.


Úgyszintén, pontosan azért fogalmaztam a tanácsomat úgy, ahogy, mert kezdők számára az MVC pattern komplexnek, nehezen érthetőnek tűnhet. Millió és millió karakterben ki lehetne fejteni a dolog előnyeit, hátrányait, bemutatni egy megoldást erre a feladatra, elmagyarázni a koncepciókat, stbstbstb. Ennek azonban nem itt van a helye; no meg már számtalanszor megtették helyettem mások.


Basically, a view a megjelenítés mikéntjéért felelős, a modell az adatokért és a hozzájuk szorosan kapcsolódó üzleti logikáért, a kontroller pedig e kettő együttműködésének koordinálásáért, kikötve, hogy mindenki csak a saját háza táján söpröget (pl. kontrollerben, modellben HTML kódnak helye nincs, ahogyan view -ban SQL query -nek, vagy adatfeldoglozásnak sincs)


MVC (and SoC in general) virtually applies everywhere. Higgy nekem, elég régóta tolom már a talicskát, hogy tudjam.

2014. febr. 7. 13:38
Hasznos számodra ez a válasz?
 10/15 anonim ***** válasza:

...és hogy a kedves kérdező is kapjon választ:


A "<?=" nem működik nálad, mert nincs engedélyezve a short delimiter ("<? ... ?>").


Vagy engedélyezd, vagy cseréld ki explicit echo -kra vagy printekre valahogy így:


<?= $value ?>


helyett


<?php echo $value; ?>

2014. febr. 7. 13:41
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!