- iPhone topik
- Apple Watch
- A hagyományos (nem okos-) telefonok jelene és jövője
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Android alkalmazások - szoftver kibeszélő topik
- VoLTE/VoWiFi
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
Ú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
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Bomba ár! HP Elitebook 850 G3 - i7-6GEN I 16GB I 256GB SSD I RadeonI 15,6" FHD I Cam I W11 I Gari!
- Iphone 16E 128GB Fekete Bontatlan 24 Hónap Garancia
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest