Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Gurulunk, WAZE?!
- Geri Bátyó: Samsung T7 1TB külső SSD
- ldave: New Game Blitz - 2025
- aquark: A legdrágább, nem antik és nem egyedi könyvek
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#6496
üzenetére
Miért nem használod fel a $_GET['phpoldal'] változót?
Úgy értem, akkor minek adod át ennek a query stringnek a címet?http://localhost/!!!szapar.hu/
Ehelyett meg létrehozhatnál egy bejegyzést a hosts fájlban, meg apache-beállításokban egy VirtualHost-ot, és lehetne a címe http://szapar.local
Így azé' szebb, meg nem kell annyit pötyögni a cím beírásához. 
$valogatas = "select * from szapar_alias where eng = '".$uri."' ";
Itt azért az $uri változót nem ártana escape-elni, az SQL Injection elkerülése érdekében!$i= 0;
foreach ($valogat as $ertek) {
if ($i != 0) {
parse_str($ertek);
}
$i++;
}
Ezt nem is értem, minek csinálod, ha utána egyáltalán sehol nem használod fel az $ertek változót?
Vagy felhasználod, csak valami include-olt fájlban? Vagy csak benne maradt?
if (!mysql_query($valogatas,$con)) {
die('Hiba: ' . mysql_error());
}
Itt a die() helyett érdemesebb lenne inkább valami felhasználóbarátabb hibaüzenetet, hogy nem elérhető az adatbázis, látogasson vissza később. Ráadásul a felhasználónak semmi köze a konkrét hibaüzenethez. Nem célszerű kiírni! Főleg, hogy nem is túl szép.
Az ilyen jellegű hibákat amúgy nagyon faszán le lehet kezelni kivételkezeléssel, ha valami kritikus jellegű hibád van, azonnal dobsz egy kivételt, hogy ne is futkorásszon tovább a kód, nem is kell bonyolult és ronda if-else blokkokat csinálni, egyszerűen valahol elkapod a kivételt, megfelelő módon kezeled, és kész.Saját kivételtípusokat is definiálhatsz, ha származtatsz az Exception osztályból, azt is érdemes, hogy el tudd dobálni, és tudd, hogy egész pontosan milyen kivételt kell kezelned, így akár végtelen mennyiségű kivételt is elkaphatsz.
Példa:class Kiskutya extends Exception {
//nem is feltétlenül kell, hogy bármi más legyen benne
}
/// ... valahol a kódban
try{
// ...
$hiba = true;
if($hiba){
throw new Kiskutya('elég nagy gáz van, kiskutyákat dobálok! :D');
}
///...
$legyen_meg_kivetel = true;
if($legyen_meg_kivetel){
throw new Exception('ha az előbb nem dobáltam volna kivételt, akkor még idáig is eljutna, de ezt a kivételt is elkapnám a catch-ben! Bruhahahahh.');
}
} catch (Kiskutya $e) {
echo 'Kiskutya kivétel elkapva! Konkrét hibaüzenet: '.$e->getMessage();
} catch (Exception $e) { // fontos a sorrend! Az ősosztály (Exception) később legyen, mint a származtatott!
echo 'Általános jellegű hiba: '. $e->getMessage();
}if (!empty($valogat['url']) and isset($valogat['url']))
Ennek a feltételvizsgálatnak így nem sok értelme van, itt elég lenne a !empty() részt vizsgálni, nyilván ha nem üres a változó (nem is NULL, nem is üres string, stb.), akkor be van állítva, tehát a második feltétel már felesleges. Sőt, itt előbb célszerű lenne inkább megvizsgálni, hogy van-e kapott eredményhalmaz, vagy sem, ha már úgyis lekérdezed a kapott sorok számát a mysql_num_rows() függvénnyel.Na, a többi részéhez most nem volt türelmem.

(#6494) Speeedfire:
"Amelyik táblában az url-ek vannak cachelve van."
Hogyan bírod rá így külön az adatbázist, hogy cache-elje? Tudtommal default cache-eli, indexeléssel lehet esetleg segíteni a lekérdezés gyorsaságát. -
RedSign
tag
válasz
Speeedfire
#6496
üzenetére
Szia!
Köszönöm szépen a példát, egy alapnak nagyon jó lesz...

RedSign
Új hozzászólás Aktív témák
- World of Tanks - MMO
- Miskolc és környéke adok-veszek-beszélgetek
- Forrmell.enn
- Nem akármilyen módon ugrik rá a memóriapánikra a Valve
- Xiaomi 15T Pro - a téma nincs lezárva
- Formula-1
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Kicsomagoljuk és bemutatjuk a Poco F8 Ultrát
- Battlefield 6
- Feketelista, avagy a rossz boltok topicja
- További aktív témák...
- SZUPER Akcióban Új Bontatlan Dyson V15 Origin 3 év gyártói garanciával Azonnal Átvehető
- ÚJ BONTATLAN Apple Watch Series 10 S10 42-46mm Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garanciával.
- Számlával, Garanciával! Samsung 860 PRO 2.5 256GB
- ÚJ! 2db.KIT! DDR4 Kingston HyperX Savage 2400MHz 2x16GB Kit - HX424C12SB2K2/16
- Samsung Galaxy Tab S7+ 5G
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- Lenovo Thinkpad P16 G2 - i9-13980HX, 32GB, 1TB SSD, 16" WQUXGA (3840 2400), RTX 4090 - TOUCH
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Úgy értem, akkor minek adod át ennek a query stringnek a címet?
Így azé' szebb, meg nem kell annyit pötyögni a cím beírásához. 



