- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Viber: ingyen telefonálás a mobilodon
- Gurulunk, WAZE?!
- MasterDeeJay: Legújabb beszerzésem: Sata to Sas adapter
- Lalikiraly: SÜNI energiaital.
- MasterDeeJay: H110-es lapban 10.gen Comet Lake működhet?
- hdanesz: Elektromos autózás - Hyundai Ioniq 28 kWh - 2018
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
emitter #2317 üzenetére
A böngészőnek elvileg automatikusan kódolnia kéne. Hogy hogyan kódolja le az adatokat, az a form enctype paraméterétől függ. [link]
Azt meg nem értem, miért nem kell használni az urlencode()-ot. Az arra való, hogy a php-ból biztosan jó url-eket tudj összeállítani. Nem csak a magyar ékezetes karaktereket kell lekódolni, hanem más spec. karaktert is. A böngésző van annyira okos, hogy a hibásan beírt url-t lekódolja neked, ettől függetlenül célszerű helyes url-ekkel linkelni az oldalakat.
-
cucka
addikt
válasz
emitter #2309 üzenetére
hogyan lehet kódolni és dekódolni az url-be kerülő sztringeket?
urlencode() és urldecode()hogyan tudom megoldani, hogy az url egy újabb get-mezővel bővüljön
például hidden mezővel, ami nem látszik a böngészőben, de amúgy úgy viselkedik, mint egy sima szöveges mező.
input type="hidden" -
cucka
addikt
válasz
emitter #2305 üzenetére
Az előttem leírt módszer is jó, de javascript-el is eltűntetheted. Például a gomb onclick-jére rákötsz egy olyan függvényt, ami összerakja neked az url-t és odaküldi a böngészőt.
Az üres mezők nem feleslegesek, mert az is információ, ha valahova nem írt semmit a felhasználó. A submit gomb pedig azért kell benne legyen, hogy például tudd, melyik form-ot post-olták el éppen. Teszem azt, két különböző form ugyanoda post-ol és valahogy meg szeretnéd különböztetni őket. Nem minden fölösleges, ami annak tűnik. Amúgy meg miért zavar, hogy ott van az url-ben?
-
Protezis
őstag
válasz
emitter #2303 üzenetére
Nagyon ritkan submitolok formot get methoddal. En valoszinuleg ugy csinalnam ( felteve, hogy elveted a sessionos megoldast, ergo linkelhetoknek kell lenniuk a szurt oldalaknak ), hogy post-tal kuldom a formot, a tuloldalon kiszedem ami felesleges, aztan atdobom egy masik oldalra, ahol immar url-ben vannak az adatok.
-
fordfairlane
veterán
válasz
emitter #2305 üzenetére
...a submit gomb neve konkrétan zavar,...
Ahogy írtam, ne adj neki name attribútumot:
<input type="submit" value="Keresés" />
Én nem szoktam eltüntetni, ebből tudom, hogy keresést kell indítani, mikor GET metódust használok. Az üres mezőket eltávolítani az első oldalról csak úgy lehet, ha csinálsz egy oldalt, ami átválogatja a paramétereket, kiszedi az üreseket, generál egy új kereső URL-t, és utána redirect a találati oldalra ezzel a szűrt URL-lel. Szerintem teljesen felesleges ezeket eltávolítani, fölöslegesen bonyolítja a programot.
-
fordfairlane
veterán
válasz
emitter #2303 üzenetére
Submitnál az url-t a böngésző generálja. Ha nem adsz name-t a submit gombnak, akkor talán nem fog benne szerepelni, de egyszerű eszközökkel, script-es hackelés nélkül nem tudod megoldani azt, hogy az üres mezőknek még a neve se szerepeljen benne. Miért akarod ezeket eltávolítani?
-
fordfairlane
veterán
válasz
emitter #2297 üzenetére
Mivel ez nem triviális, és sok helyen volt szükségem erre, csináltam rá két osztályt, <url> és <pages>.
Így kell használni őket:
define(PERPAGE,20); // 20 elem egy oldalon
$f = (int)$_REQUEST['f']; // $f változóba kerül az aktuális oldal száma
/* Ebbe kerül bele az összes találatok száma, ebből tudjuk kiszámolni, hány oldal. Ide egy adatbázis lekérdezés jön általában. */
$sum = 200
/* Ha megadsz a konstruktornak egy számot, akkor max ennyi oldalszámot jelenít meg, hogy a lapozó ne legyen túl hosszú, ha esetleg többszáz oldal van. Alapból 20 az értéke */
$pages = new pages();
echo $pages->get($f,PERPAGE,$sum,$_GET);Az utolsó sornban a $_GET helyére $_REQUEST kerül a te esetedben, mivel hol GET, hol POST metódusban kapja az oldal a paramétereket.
-
emitter
őstag
válasz
emitter #2293 üzenetére
mondok egy példát:
keresem a 100Ft-nál drágább termékeket az adatbázisomból. Kapok 326 találatot. Alapból megjelenítem az 1-50-ig terjedő részt. Van egy linksorom, mint a te filmes oldaladon. Ha az '51-100' linkre kattintok, amelynek a href-je 'vmi.php?limit=50&page=50', akkor ez nem elég, hanem valahogy vissza kell küldenem azt is, hogy én a 100Ft feletti termékeket akarom. Ezt hogyan tehetem meg?szerk: a keresési információkat (pl. 100 Ft) post-tal küldöm
-
PazsitZ
addikt
válasz
emitter #2293 üzenetére
Én nem értettem meg teljesen a dolgot, sorry.
Szerintem ebben az esetben a keresési feltétel is mehetne get-be majd utána az oldalszám.
?search=valami&page=1
Minden esetben lefutna a kérés (lehetőleg valami szerint rendezve ugye) és ezután csak az x-ediktől y-ig iratod/kéred le az eredményt. -
fordfairlane
veterán
válasz
emitter #2293 üzenetére
Pár száz karakternyi adatot simán bele lehet passzírozni urlbe.
<?
$page = (int)$_GET['page'];
$url = $_SERVER['SCRIPT_NAME'].'?page='.$page;
foreach($_POST as $key => $value) {
$url .= '&'.$key.'='.urlencode($value);
}
echo $url;
?>Ha nagyon sok adat van, akkor meg session-ben célszerű eltárolni.
-
cucka
addikt
válasz
emitter #2256 üzenetére
Ha teljesen korrekt ellenőrzést akarsz az űrlapodra, amely mindenhol kijelzi a releváns hibaüzenetet, akkor az sok meló. Mindent ellenőrizni kell, esetleg azokat a műveleteket/ellenőrzéseket összevonhatod, amelyeket több mezőnél is használsz. (Tipikusan ilyen pl. az, hogy üres-e a mező. Csinálsz egy tömböt azokból a mezőnevekből, amelyeknek nem szabad üresnek lenni és foreach-el megnézed mindegyikre, hogy valóban nem üres-e a $_POST tömbben. Persze ez csak akkor segít, ha sok mezőre kell ugyanezt ellenőrizni..)
Viszont lenne egy másik kérdésem: ki lehet-e nyerni valahogyan a $_POST elemeinek a nevét?
Például array_keys() függvénnyel kapsz egy tömböt a $_POST-ban található kulcsokról. Vagy foreach ($_POST as $kulcs => $ertek) formában is végigiterálhatsz rajta.
Egyébként azt javaslom, hogy ne a $_POST elemein menj végig az ellenőrzésnél, hanem a programod tudja, hogy milyen elemeknek kéne ott szerepelniük. Egy php programnak bármikor bármit el lehet post-olni, ezért ne a post-olt adatok alapján ellenőrizd a post-olt adatokat. (Ez kicsit hülyén hangzik, de pontosan ezt írtad le)
Új hozzászólás Aktív témák
Hirdetés
- One otthoni szolgáltatások (TV, internet, telefon)
- BMW topik
- Android szakmai topik
- Internet problémák
- Háztartási gépek
- Milyen okostelefont vegyek?
- Ez lenne a népkártya? Teszten a GeForce RTX 5060 Ti 16 GB
- 5.1, 7.1 és gamer fejhallgatók
- Fejhallgató erősítő és DAC topik
- Autós topik
- További aktív témák...
- AKCIÓ! ASUS B460M i7 10700 16GB DDR4 512GB SSD GTX 1080Ti 11GB KOLINK Observatory TG TT 600W
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RX 6600 8GB GAMER PC termékbeszámítással
- Azonnali készpénzes nVidia RTX 2000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Csere-Beszámítás! PowerColor Red Devil Spectral White RX 9070XT Videokártya! Bemutató Darab!
- Lenovo ThinkCentre M720s SFF / M920T tower -Számla, garancia, WIN11
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest