Egy form, két submit gomb
Sziasztok,
Nézzetek el, hogy az amatőr kérdésemmel ismételten a közösséghez fordulok. A kérdésem a következő:
Adott egy form. A mezőkben különböző adatok, amelyeket most jelenleg GET-el adok át adatbázisból. De mivel 30-40 input mezőről van szó, enyhén szólva is macerás GET-el babrálni, kényelmesebb lenne POST-al. Én mivel lelkes kezdő vagyok, vizuális típus vagyok, ezért megpróbálom szemléltetni az alapfelállást.
<form method="post" action="valami.php">
<input name="1" valus"valami1">
<input name="2" valus"valami2">
<input type="submit" value="Törlés">
<input type="submit" value="Módosítás">
</form>
Tehát egy adott formba tartozó adatok alapján szeretnék vagy törölni, vagy módosítani. Ez mos per pillanat GET-el gyönyörűen működik (ugye ott <button> taget használok. De nagyon átláthatatlan így a kód.
submit gombbal, egy ugyanazon űrlappal át tudom valahogyan adni POST-al az adatokat úgy, hogy a két funkciót meg tudom különböztetni? A válaszokat előre is köszönöm.
■ Nézzetek el, hogy az amatőr kérdésemmel ismételten a közösséghez fordulok. A kérdésem a következő:
Adott egy form. A mezőkben különböző adatok, amelyeket most jelenleg GET-el adok át adatbázisból. De mivel 30-40 input mezőről van szó, enyhén szólva is macerás GET-el babrálni, kényelmesebb lenne POST-al. Én mivel lelkes kezdő vagyok, vizuális típus vagyok, ezért megpróbálom szemléltetni az alapfelállást.
<form method="post" action="valami.php">
<input name="1" valus"valami1">
<input name="2" valus"valami2">
<input type="submit" value="Törlés">
<input type="submit" value="Módosítás">
</form>
Tehát egy adott formba tartozó adatok alapján szeretnék vagy törölni, vagy módosítani. Ez mos per pillanat GET-el gyönyörűen működik (ugye ott <button> taget használok. De nagyon átláthatatlan így a kód.
submit gombbal, egy ugyanazon űrlappal át tudom valahogyan adni POST-al az adatokat úgy, hogy a két funkciót meg tudom különböztetni? A válaszokat előre is köszönöm.
A kérdésed maga nem igazán
POST
pont ugyanazt küldi, mint aGET
, csak nem az URL-ben, és hogy a<button>
-nak is tudsz adnivalue
-t.Csak IE6 alatt nem működik.
IE6. Rég hallottam már ezt a
Hacsak nem a kínai piacra dolgozol, nem éri meg foglalkozni vele.
IE6 Countdown
Egyre többen szüntetik meg az IE7 támogatását is. Én mondjuk hagyományos weboldalakat azon még szoktam tesztelni, általában egy rövid conditional stylesheet (inline-block fix meg pár más ráncfelvarrás) és a html5shiv elég ahhoz, hogy az oldal használható legyen, ne legyen szétesve.
Azért van különbség aközött,
IE6
Tiltakozom
Remélem az IE 5-ről sem
Persze
hello, mobilrol irok, ezert
adam edesanyja most hivott, hogy a fiuk a fenti link megnyitasa utan rovidesen horgesek kozepette osszeesett
most szallitjak korhazba, a mentoben masodszor kellett ujraeleszteni
en is rohanok be, hogy elmagyarazzam neki, van workaround!!! igaz, csak js
Komoly?!
-10000 WL erkölcsi pont.
Én jól szórakoztam :)
Ez azt jelenti, hogy már
Menjetek a...
Reméltem, hogy a három
Mostanában
A GET változókat az $_GET
Így a szerver oldalon nincs különösebb változás, nem lesz a POST-tól átláthatóbb a kód, csak az url.
A GET-el még egy problémám
Amikor GET-el adom át az adatokat, azok ugye megjelennek a címsorban. Ezt le lehet valahogyan tiltani? Régen még amikor a HTML-t tanultam, volt egy javascript kód amivel le lehetett tiltani a címsorban való link megjelenítést és az állapot sort is, de nem találom...
GET
Olyan kérésekre, amik módosítják a tartalmat POST-ot illik használni.
Alapvetően ha GET-et
Ha adatokat küldesz a szerverre, hogy azokkal valamit módosíts vagy törölj, tehát állapotváltozást idézz elő, használj POST-ot.
Igen, ez volt ugye az alap
Az utolsó hozzászólásom csak egy továbbgondolás volt, ami ezek szerint nem mködhet.
Köszönöm.
A button tag éppúgy működni
Valóban a POST-ra van itt szükséged, a GET-et adatok lekérésére szokás használni, változtatásnál a POST a megfelelő (vagy a PUT/DELETE, de azokat HTML form nem tudja).
Ami neked kell, az az információ, hogy a gomboknak is adhatsz name attribútumot, ami csak akkor kerül elküldésre, ha a júzer azzal a gombbal szubmittálta (remek magyar szó :)) a formot.
Tehát:
PHP-ból ezután már könnyen tudod tesztelni, hogy melyik gombot nyomták meg:
két submit gomb
IE
Egyetértek. Nem szeretem az
Button
Tapasztalataim szerint
Köszi kuka, hogy bonyolítod
Nosigen, kicsit olvasgattam a
Jelen esetünkben az Enter leütése egy input mezőben a módosítást implikálja, de nem minden esetben ilyen tiszta a dolog.
A törlés gombot lehetne mondjuk külön formba is rakni, hiszen ahhoz elég csak az id-t elküldeni, a többi adatra semmi szükség.
submit
Kalandos szakma a miénk :).
Úgy látszik, hogy
Esetemben a módosítás és a törtlés azt jelenti, hogy a formban megjelenített adatokat (inputokat) adatbázisból szeretném kitölteni. Most GET-el töltöm ki. Ezt követően két lehetőséget kínálok a felhasználó számára.
A módosítás gomb: GET-el átadom a paramétereket, meghívok egy új űrlapot és megjelenítem az adatokat. Majd ezen az űrlapon egy módosítás gombbal ténylegesen módosítok az adatbázisban.
A törlés gomb: nem kiüríteni akarom az imputokat, hanem információt küldeni egy id-val egy másik feldolgozó számára, amely törli az adott rekordot az adatbázisból.
De minden ugyanabban a fájlban történik.
Csak leírtam, hogy hátha később valaki ugyanezzel a problémával kerül szembe és világosan és érthetően el tud itt olvasni mindent.
Bamegakapa megoldása továbbra is nyerő.
A törlés helyes módja....
Ezt betéve a form-ba bármikor törölhetsz.
form
Nem is gondoltam volna, hogy
Köszönök mindent. Bamegakapa válasza a tuti!!!
A többieknek is köszönet!