Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Mr Dini: Mindent a StreamSharkról!
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Pitterix: Gyógytorna
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Kell-e manapság egérpad vagy sem?
Új hozzászólás Aktív témák
- 
			
			  zka67 őstag válasz  Tele von Zsinór
							
							
								#6299
							
							üzenetére Tele von Zsinór
							
							
								#6299
							
							üzenetéreA textarea-nak is. 
- 
			
			  zka67 őstag válasz  zsoltke
							
							
								#6297
							
							üzenetére zsoltke
							
							
								#6297
							
							üzenetéreHa azt szeretnéd, hogy ugyanúgy nézzen ki a szöveg mint ahogy beírtad, akkor csak annyit kell csinálnod, hogy amikor kiíratod a szöveget elé beszúrsz egy <pre> -t mögé pedig egy </pre> -t. A & < > -eket pedig lecseréled & < és > -re, hogy ne tudják elcseszni a formázásodat. 
- 
			
			  zsoltke tag köszi srácok, működik is    
- 
			
			  Inv1sus addikt Akkor már legyünk teljesen pontosak: <br />  
- 
			
			  TomyLeeBoy tag válasz  Tele von Zsinór
							
							
								#6293
							
							üzenetére Tele von Zsinór
							
							
								#6293
							
							üzenetéreElolvastam a nl2br manualt, az tényleg pontosan erre van kitalálva. Én ezt a megoldást magamtól eszeltem ki még évekkel ezelőtt, és mivel jó volt ezért használom ezt. De mostmár lehet váltok. Mindig tanul az ember.  
- 
			
			  j0k3r! őstag válasz  TomyLeeBoy
							
							
								#6292
							
							üzenetére TomyLeeBoy
							
							
								#6292
							
							üzenetéreazert irtam off-nak, mivel csak megjegyzesnek szantam, nem a te otleted felulbiralasara. (#6293) Tele von Zsinór: igaz, de valoszinubbnek tartom, hogy xhtml dtd-t hasznal, mint html-t. 
- 
			
			  Tele von Zsinór őstag válasz  TomyLeeBoy
							
							
								#6290
							
							üzenetére TomyLeeBoy
							
							
								#6290
							
							üzenetéreVan egy nl2br nevű függvény, azzal inkább. @j0k3r!: a <br> pontosan ugyanannyira valid, mint a <br/>, csak az egyik html, a másik xhtml. 
- 
			
			  j0k3r! őstag válasz  TomyLeeBoy
							
							
								#6290
							
							üzenetére TomyLeeBoy
							
							
								#6290
							
							üzenetéreakkor mar <br/>, ha valid kodot szeretnel. 
- 
			
			  TomyLeeBoy tag válasz  zsoltke
							
							
								#6287
							
							üzenetére zsoltke
							
							
								#6287
							
							üzenetéreA sortöréseket \n -el tárolja le, Te pedig megjeleníted html-ben, ahol <br> a sortörés. str_replace -el cseréld le a string-ben a \n -eket <br> -re. 
- 
			
			  zsoltke tag üdv, készítettem egy egyszerű php-s forumot mysql táblákkal, és amikor a hozzászólást sortördeléssel beírod és ok-t nyomsz akkor az adatbázisba helyesen kerül be a megformázott szöveg, de amikor egy select-tel kiolvasom a táblából és php-val kiíratom akkor formázatlanul jelenik meg, tudnátok ebben segíteni, hogy úgy nézzen ki a szöveg mint amikor beírtam a szövegmezőbe? köszi  
- 
			
			  Siriusb veterán válasz  Speeedfire
							
							
								#6278
							
							üzenetére Speeedfire
							
							
								#6278
							
							üzenetére000webhoston ez az üzenet, ha csak azt az egy parancsot tartalmazó fájlt próbálom futtatni böngészőből: 
 Warning: exec() has been disabled for security reasons
- 
			
			  Siriusb veterán válasz  Speeedfire
							
							
								#6278
							
							üzenetére Speeedfire
							
							
								#6278
							
							üzenetéreKöszi. Ki is próbálom. 
- 
			
			  Inv1sus addikt Szerintetek az mennyire egészséges, ha írok egy olyan feltételt, ami azt vizsgálja, hogy robot böngészi-e az adott pillanatban a weblapot és e szerint mást állítok be bizonyos részeken? Pl mondjuk a robot számára nem lesz alapból Display:none egy eltűnő menü, csak egy mezei felhasználó számára. Ezt a google bünteti vagy figyeli valahogy, esetleg a keresőoptimalizáltságra van valamilyen hatással? 
- 
			
			  LW őstag Üdv újra. Van az alább látható 3 osztályom: 
 abstract class REQUEST{
 public static function helper_get_var(&$sga, $key, $default, $type = 'string'){
 if(isset($sga[$key])){
 if($type != 'string'){
 $value = $sga[$key];
 settype($value, $type);
 return $value;
 } else {
 return STRINGS::secure($sga[$key]);
 }
 } else {
 return $default;
 }
 }
 }abstract class GET extends REQUEST{ 
 public static function get_var($key, $default, $type = 'string'){
 return REQUEST::helper_get_var($_GET, $key, $default,$type);
 }
 }abstract class POST extends REQUEST{ 
 public static function get_var($key, $default, $type = 'string'){
 return REQUEST::helper_get_var($_POST, $key, $type);
 }
 }Csináltam egy segítő functiont, amit a 2. és 3. osztály örököl, elkerülve az ismétlést. A kérdés az, hogy van rá mód, hogy csak GET és POST osztály lássa a REQUEST funkcióját?Szerk: úgy néz ki protected módosítóval eléri, bár phpDesigner nem rakta be az elérhető funkciók listájába. 
- 
			
			  rt06 veterán nem volt faradtsag, csak kimasoltam a john --test kimenetet 
 ez par masodpercig futtatja az alatala ismert algoritmusok mindegyiket, ami megmutatja, milyen sebesseggel mukodik a bruteforce jelszotoresa virtual c/s ertekek osszehasonlitasaval tudod megnezni, melyik jelszo milyen sebesseggel torheto (minel magasabb az ertek, annal gyorsabban tudja torni a jelszot) persze ez nem szamolja a hash-elesi algoritmusok hibait (ha jol tudom, md5 ennel gyorsabban is torheto), illetve mind md5, mind pedig sha1 eseteben leteznek mar olyan rainbow tablak, melyek tartalmazzak az osszes 8 karakteres jelszo hash-et erdemes lehet egyebkent megnezni a PHPASS framework-ot, ami lenyegesen lassabban "torheto" mindket emlitett algoritumsnal 
- 
			
			  Siriusb veterán Egy kis segítség kellene. A webtárhely szolgáltatónál (a jelenlegi csomagban) nincs cron futtatás. Azonban phpList miatt szükségem lenne rá. Van egy ingyenes tárhelyem a 000webhoston, ahol van cron. Ott php -f paranccsal futtatnék egy cron.php-t a következő tartalommal: 
 <?php
 exec('http://www.akarmi.hu/lists/admin/index.php?page=processqueue&login=usernev&password=jelszo');
 ?>Miért nem működik így? Van valami szerintetek működő megoldás esetleg? 
 Maga a parancs böngészőből indítva lefut.
- 
			
			  Speeedfire félisten válasz  TomyLeeBoy
							
							
								#6269
							
							üzenetére TomyLeeBoy
							
							
								#6269
							
							üzenetéreEgyelőre oop érdekel utána meg a symfony 2. Valamennyi jquery ismerem van, de itt is az a baj, hogy az angolom ramaty. Magyar nyelven meg nem sok mindent találok...  
- 
			
			  TomyLeeBoy tag válasz  Speeedfire
							
							
								#6268
							
							üzenetére Speeedfire
							
							
								#6268
							
							üzenetéreÉn is halogattam az ajax-ot mert nem akartam vele kínlódni mikor php-ban már elég jól kiismertem magam. Aztán egyszer rászántam magam, és fél nap olvasgatás, próbálkozás után már elég jó dolgokat tudtam megvalósítani ajax-al. Szerintem akárhogy is állsz a php-val, hajrá ajax! 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6266
							
							üzenetére Tele von Zsinór
							
							
								#6266
							
							üzenetéreIsmerkedni ismerkedek vele, de egy ilyen egymásba ágyazáshoz elég sokat kellene tudnom. Meg még mindig a php a fontosabb tanulnivaló. 
- 
			
			  rt06 veterán wall of text kovetkezik, elore is elnezest 
 ez a john the ripper jelszotoro program alapertelmezett tesztjenek a kimenete, ebben tudod a bruteforce tores sebessegeit osszehasonlitanisozott sha1-et nem latok, sozott mdt-bol meg vagy egy csomo - sozas nelkuli van mindkettobol, raw-sha1 es raw-md5 neven keresd oket Benchmarking: Traditional DES [24/32 4K]... DONE 
 Many salts: 24357 c/s real, 49192 c/s virtual
 Only one salt: 28641 c/s real, 45200 c/s virtual
 Benchmarking: BSDI DES (x725) [24/32 4K]... DONE
 Many salts: 1333 c/s real, 1462 c/s virtual
 Only one salt: 1473 c/s real, 1473 c/s virtual
 Benchmarking: FreeBSD MD5 [32/32]... DONE
 Raw: 1093 c/s real, 1103 c/s virtual
 Benchmarking: OpenBSD Blowfish (x32) [32/32 X2]... DONE
 Raw: 86.4 c/s real, 59.6 c/s virtual
 Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
 Short: 38901 c/s real, 35428 c/s virtual
 Long: 99358 c/s real, 102400 c/s virtual
 Benchmarking: LM DES [32/32 BS]... DONE
 Raw: 516847 c/s real, 538160 c/s virtual
 Benchmarking: NT MD4 [32/32]... DONE
 Raw: 1116K c/s real, 1174K c/s virtual
 Benchmarking: Mac OS X 10.4+ salted SHA-1 [32/32]... DONE
 Many salts: 371588 c/s real, 371588 c/s virtual
 Only one salt: 310371 c/s real, 333484 c/s virtual
 Benchmarking: M$ Cache Hash [Generic 1x]... DONE
 Many salts: 2146K c/s real, 2189K c/s virtual
 Only one salt: 755073 c/s real, 770327 c/s virtual
 Benchmarking: Apache MD5 [32/32]... DONE
 Raw: 1034 c/s real, 1098 c/s virtual
 Benchmarking: HMAC MD5 [hmac-md5]... DONE
 Raw: 185234 c/s real, 187087 c/s virtual
 Benchmarking: Post.Office MD5 [STD]... DONE
 Many salts: 395042 c/s real, 398993 c/s virtual
 Only one salt: 324984 c/s real, 364704 c/s virtual
 Benchmarking: Raw MD5 [raw-md5 64x1]... DONE
 Raw: 717560 c/s real, 754933 c/s virtual
 Benchmarking: md5_gen(0): md5($p) (raw-md5) [md5-gen 64x1]... DONE
 Raw: 551984 c/s real, 574746 c/s virtual
 Benchmarking: md5_gen(1): md5($p.$s) (joomla) [md5-gen 64x1]... DONE
 Many salts: 537283 c/s real, 596325 c/s virtual
 Only one salt: 499326 c/s real, 504320 c/s virtual
 Benchmarking: md5_gen(2): md5(md5($p)) (e107) [md5-gen 64x1]... DONE
 Raw: 280712 c/s real, 292288 c/s virtual
 Benchmarking: md5_gen(3): md5(md5(md5($p))) [md5-gen 64x1]... DONE
 Raw: 174384 c/s real, 191443 c/s virtual
 Benchmarking: md5_gen(4): md5($s.$p) (OSC) [md5-gen 64x1]... DONE
 Many salts: 614400 c/s real, 639736 c/s virtual
 Only one salt: 510922 c/s real, 531991 c/s virtual
 Benchmarking: md5_gen(5): md5($s.$p.$s) [md5-gen 64x1]... DONE
 Many salts: 549893 c/s real, 610320 c/s virtual
 Only one salt: 490917 c/s real, 521600 c/s virtual
 Benchmarking: md5_gen(6): md5(md5($p).$s) [md5-gen 64x1]... DONE
 Many salts: 646906 c/s real, 659975 c/s virtual
 Only one salt: 247572 c/s real, 274778 c/s virtual
 Benchmarking: md5_gen(7): md5(md5($p).$s) (vBulletin) [md5-gen 64x1]... DONE
 Many salts: 625932 c/s real, 645093 c/s virtual
 Only one salt: 275009 c/s real, 280565 c/s virtual
 Benchmarking: md5_gen(8): md5(md5($s).$p) [md5-gen 64x1]... DONE
 Many salts: 289330 c/s real, 307604 c/s virtual
 Only one salt: 263160 c/s real, 276866 c/s virtual
 Benchmarking: md5_gen(9): md5($s.md5($p)) [md5-gen 64x1]... DONE
 Many salts: 520617 c/s real, 604395 c/s virtual
 Only one salt: 234835 c/s real, 266498 c/s virtual
 Benchmarking: md5_gen(10): md5($s.md5($s.$p)) [md5-gen 64x1]... DONE
 Many salts: 264617 c/s real, 296960 c/s virtual
 Only one salt: 243770 c/s real, 273564 c/s virtual
 Benchmarking: md5_gen(11): md5($s.md5($p.$s)) [md5-gen 64x1]... DONE
 Many salts: 267722 c/s real, 293913 c/s virtual
 Only one salt: 270067 c/s real, 275523 c/s virtual
 Benchmarking: md5_gen(12): md5(md5($s).md5($p)) (IPB) [md5-gen 64x1]... DONE
 Many salts: 374621 c/s real, 382189 c/s virtual
 Only one salt: 209869 c/s real, 211968 c/s virtual
 Benchmarking: md5_gen(13): md5(md5($p).md5($s)) [md5-gen 64x1]... DONE
 Many salts: 376649 c/s real, 380416 c/s virtual
 Only one salt: 210059 c/s real, 210059 c/s virtual
 Benchmarking: md5_gen(14): md5($s.md5($p).$s) [md5-gen 64x1]... DONE
 Many salts: 575936 c/s real, 581696 c/s virtual
 Only one salt: 259992 c/s real, 262592 c/s virtual
 Benchmarking: md5_gen(17): phpass ($P$ or $H$) [md5-gen 64x1]... DONE
 Many salts: 331 c/s real, 342 c/s virtual
 Only one salt: 310 c/s real, 344 c/s virtual
 Benchmarking: PHPass MD5 [phpass-md5]... Using phpass mode, by linking to md5_gen(17) functions DONE
 Many salts: 339 c/s real, 339 c/s virtual
 Only one salt: 339 c/s real, 342 c/s virtual
 Benchmarking: IPB2 MD5 [Invision Power Board 2.x salted MD5]... DONE
 Many salts: 370965 c/s real, 374638 c/s virtual
 Only one salt: 225773 c/s real, 228031 c/s virtual
 Benchmarking: Raw SHA-1 [raw-sha1]... DONE
 Raw: 347037 c/s real, 347037 c/s virtual
 Benchmarking: Kerberos v4 TGT [krb4 DES]... DONE
 Raw: 280102 c/s real, 294691 c/s virtual
 Benchmarking: Kerberos v5 TGT [krb5 3DES (des3-cbc-sha1)]... DONE
 Raw: 5081 c/s real, 5402 c/s virtual
 Benchmarking: Netscape LDAP SHA [SHA-1]... DONE
 Raw: 347138 c/s real, 350610 c/s virtual
 Benchmarking: Netscape LDAP SSHA [salted SHA-1]... DONE
 Many salts: 351978 c/s real, 351978 c/s virtual
 Only one salt: 321077 c/s real, 324288 c/s virtual
 Benchmarking: OpenLDAP SSHA [salted SHA-1]... DONE
 Many salts: 371532 c/s real, 375248 c/s virtual
 Only one salt: 322596 c/s real, 342758 c/s virtual
 Benchmarking: Eggdrop [blowfish]... DONE
 Raw: 1621 c/s real, 2127 c/s virtual
 Benchmarking: Oracle [oracle]... DONE
 Raw: 111283 c/s real, 111283 c/s virtual
 Benchmarking: Oracle 11g [oracle11]... DONE
 Many salts: 363222 c/s real, 366855 c/s virtual
 Only one salt: 323058 c/s real, 326289 c/s virtual
 Benchmarking: MYSQL [mysql]... DONE
 Raw: 209205 c/s real, 215610 c/s virtual
 Benchmarking: MySQL 4.1 double-SHA-1 [mysql-sha1]... DONE
 Raw: 164600 c/s real, 186794 c/s virtual
 Benchmarking: Lotus5 [Lotus v5 Proprietary]... DONE
 Raw: 36512 c/s real, 36878 c/s virtual
 Benchmarking: More Secure Internet Password [RSA MD defined by BSAFE 1.x - Lotus v6]... DONE
 Many salts: 19039 c/s real, 19230 c/s virtual
 Only one salt: 11253 c/s real, 11253 c/s virtual
 Benchmarking: LM C/R DES [netlm]... DONE
 Many salts: 62087 c/s real, 62708 c/s virtual
 Only one salt: 60142 c/s real, 60744 c/s virtual
 Benchmarking: NTLMv1 C/R MD4 DES [netntlm]... DONE
 Many salts: 86509 c/s real, 87375 c/s virtual
 Only one salt: 82005 c/s real, 82005 c/s virtual
 Benchmarking: LMv2 C/R MD4 HMAC-MD5 [netlmv2]... DONE
 Many salts: 64574 c/s real, 65220 c/s virtual
 Only one salt: 63209 c/s real, 63842 c/s virtual
 Benchmarking: NTLMv2 C/R MD4 HMAC-MD5 [netntlmv2]... DONE
 Many salts: 58568 c/s real, 59154 c/s virtual
 Only one salt: 59524 c/s real, 59524 c/s virtual
 Benchmarking: HalfLM C/R DES [nethalflm]... DONE
 Many salts: 145741 c/s real, 147199 c/s virtual
 Only one salt: 138600 c/s real, 139987 c/s virtual
 Benchmarking: MS-SQL [ms-sql]... DONE
 Many salts: 386347 c/s real, 390211 c/s virtual
 Only one salt: 354087 c/s real, 357628 c/s virtual
 Benchmarking: MS-SQL05 [ms-sql05]... DONE
 Many salts: 384428 c/s real, 384428 c/s virtual
 Only one salt: 359701 c/s real, 363299 c/s virtual
 Benchmarking: EPiServer SID Hashes [SHA-1]... DONE
 Many salts: 365137 c/s real, 368789 c/s virtual
 Only one salt: 341785 c/s real, 345203 c/s virtual
 Benchmarking: PHPS MD5 [MD5(MD5($pass).$salt) MD5]... Using phps mode, by linking to md5_gen(6) functions DONE
 Many salts: 666550 c/s real, 666550 c/s virtual
 Only one salt: 281600 c/s real, 284416 c/s virtual
 Benchmarking: MYSQL_fast [mysql-fast]... DONE
 Raw: 2013K c/s real, 2034K c/s virtual
 Benchmarking: PIX MD5 [pix-md5]... DONE
 Raw: 560534 c/s real, 566140 c/s virtual
 Benchmarking: SAP CODVN G (PASSCODE) [sapg]... DONE
 Many salts: 120317 c/s real, 120317 c/s virtual
 Only one salt: 113519 c/s real, 114655 c/s virtual
 Benchmarking: SAP BCODE [sapb]... DONE
 Many salts: 181932 c/s real, 183752 c/s virtual
 Only one salt: 152421 c/s real, 153946 c/s virtual
 Benchmarking: Netscreen MD5 [NS MD5]... DONE
 Raw: 460711 c/s real, 460711 c/s virtual
 Benchmarking: HTTP Digest access authentication [HDAA-MD5]... DONE
 Many salts: 191347 c/s real, 193261 c/s virtual
 Only one salt: 182336 c/s real, 184160 c/s virtual
 Benchmarking: generic crypt(3) [?/32]... DONE
 Many salts: 4372 c/s real, 4416 c/s virtual
 Only one salt: 4800 c/s real, 4800 c/s virtual
- 
			
			  Tele von Zsinór őstag Na igen, hosszminimum felállítása is okos dolog. Viszont itt főleg arról van szó, mikor valahogy kikerül az adatbázisod - a lényeg, hogy ne lehessen egyszerűen visszafejteni a jelszót, és ugyanazt a felhasználónév/jelszó párost végigpróbálgatni más oldalakon. @Speeedfire: jogosan panaszkodik, tényleg magára irányít. A mai világban már kikerülhetetlen az ajax, halogathatod, de megúszni nem fogod. Valami JS framework rengeteget segít, manapság a legelterjedtebb a jQuery, és nem csak az ajaxszal kapcsolatos egyszerűsítése miatt. Jó a dokumentációja, megéri belenézni. 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6263
							
							üzenetére Tele von Zsinór
							
							
								#6263
							
							üzenetéreKomolyan mondom tele van már a tudatom ezzel a scripttel. 
 Most meg a chrome panaszkodik a 100-as lépésekkel, hogy mindig meghívja magát....
 A 200-as határ már jól sikerült, de ez a több fájl másolás most elvette mindentől a kedvemet...Ez lett a végleges script, biztos lehetne még mit csiszolni rajta, de működik így is... <?php 
 $domd = new DOMDocument();
 libxml_use_internal_errors(true);
 $domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
 libxml_use_internal_errors(false);
 $domx = new DOMXPath($domd);
 $links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
 $i = 0;
 $j = 0;
 foreach ($links as $link) {
 if ($i <= 199) {
 $file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
 $file .= $link->getAttribute("href");
 $newfile = '../packages/' . $link->getAttribute("href");
 if (!copy($file,$newfile)) {
 echo 'Nem sikerült a(z) '.$i.' másolása.<br />';
 }
 else {
 echo $i.'. Ok.<br />';
 $j++;
 }
 }
 
 else {
 break;
 }
 
 $i++;
 }
 if (isset($_GET['start']) == 0) {
 $file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin';
 $newfile = '../'.end(explode('/',$file));
 if (!copy($file,$newfile)) {
 echo 'Nem sikerült a bin másolása.';
 }
 else {
 echo 'Sikeres volt a bin letöltése.';
 }
 }
 $ciklusstart = $_GET['start'] + 200;
 $uri = $_SERVER['PHP_SELF'].'?start='.$ciklusstart;
 if ($j != 0) {
 header("Location: $uri");
 }
 ?>Köszönöm az eddigi fáradozásodat!  Szerk.: Egy hátránya van egye ennek a meghívásos dolognak, hogy nem látom a kimeneteket.  
- 
			
			  jeges senior tag válasz  Tele von Zsinór
							
							
								#6263
							
							üzenetére Tele von Zsinór
							
							
								#6263
							
							üzenetére(esetleg plusz korlátozás a jelszó minimum hosszára, bonyolultságára, erősségére, stb. emlékeim szerint - de lehet, tévedek vagy elavult az info - 5 vagy 6 karakterig vannak rainbow táblák közforgalomban, úgyhogy egy viszonylag hosszú - >10 karakter - szöveges változóval viszonylag hatékonyan védhető az ilyen fenyegetés) kérdés: van esetleg tapasztalat, hogy egy saltolt sha1 mennyivel "keményebb dió" az ugyanúgy saltolt md5-nél? nekem ez a 128 vs 160 bites izé nem sokat mond. 
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6254
							
							üzenetére Speeedfire
							
							
								#6254
							
							üzenetéreA DomNodeList nem ArrayAccess interface, szóval $links[$n] helyett $links->item($n). 
 Másrészt a hibát okozó sor a $links->getAttribute() hívás, ami nincs is az én kódomban, nézd meg újra.A $n, $m változók feleslegesek (ezeket te az első és utolsó indexeknek használod) - a domx query összeállításakor megmondom neki, hogy csak a $_GET["start"] pozíció utáni linkek érdekelnek. 
 Most nincs időm kódot mutatni, de csináld azt, hogy foreach-csel mész, benne növelsz egy számlálót, ha az eléri a százat -> break. Ezen kívül a ciklusmagban mented a filet.
 A mag után ha a számláló nem nulla (azaz volt feldolgozott link), akkor headerrel átirányítod úgy, hogy az új start a kapott start + a számláló értéke.A végén az url összeállítós részt nézd meg mégegyszer, a paraméter neve lemaradt. A jelszavas témához: az md5 nem kódolás, hanem hashelés - pont az a lényege, hogy nem visszafejthető, az egyetlen törési módszer a brute force. Ebből a szempontból egyébként az md5 elavult, úgynevezett rainbow table módszerrel nagyon rövid idő alatt törhető a nagyjuk. 
 Ennek nehezítésére az egyik lehetőség a saltolás, amikor egy userenként más-más stringet fűzöl a jelszóhoz, és azt hasheled - így felhasználónként külön rainbow table kell, drasztikusan lassítva ezzel a törési kísérleteket.
 Másik lehetőség egy erősebb algoritmus használata, mint az sha1 (160 bites 128 helyett).
 Legjobb a kettő együtt: saltolt sha1.
- 
			
			  Inv1sus addikt Az volt a gond, hogy a begyepesedett agyammal csak arra gondoltam, hogy $megadott_jelszo = ? ($adatbazisos_md5_jelszo) Fail... 
- 
			
			  Speeedfire félisten válasz  Inv1sus
							
							
								#6259
							
							üzenetére Inv1sus
							
							
								#6259
							
							üzenetéreIgen! A postolt adatra nyomsz egy md5-öt, és összehasonlítod az adatbázisban már előre md5-ként mentett jelszóval. 
 Én pl használom még az md5-öt random sztring generálásra is, amiből generálom az meg az idő, szóval 2 egyforma sem lehet. Itt egy egyszerű példa. [link] Én anno mikor csináltam a login rendszert ez volt az alap amiből kiindultam. 
- 
			
			  RedSign tag válasz  Inv1sus
							
							
								#6257
							
							üzenetére Inv1sus
							
							
								#6257
							
							üzenetéreHogy-hogy semmire?  A jelszó semmire sem jó? A jelszó semmire sem jó? Egyébként olyan adatok esetén hasznos, amiket a felhasználó visz be és csak összehasonlítani kell velük (megerősítő kód is ilyen például) vagy ha sütiben tárolod a felhasználói azonosítót és automatikus beléptetést alkalmazol vele... Egyébként olyan adatok esetén hasznos, amiket a felhasználó visz be és csak összehasonlítani kell velük (megerősítő kód is ilyen például) vagy ha sütiben tárolod a felhasználói azonosítót és automatikus beléptetést alkalmazol vele... 
- 
			
			  Inv1sus addikt http://codeigniter.com/user_guide/libraries/encryption.html Mi értelme valamit md5 kódolni, ha nem lehet visszafejteni? Mire lehet azt használni akkor? 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6250
							
							üzenetére Tele von Zsinór
							
							
								#6250
							
							üzenetéreHát nekem egyelőre úgy néz ki még ez is nagy falat.  <?php 
 $domd = new DOMDocument();
 libxml_use_internal_errors(true);
 $domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
 libxml_use_internal_errors(false);
 $domx = new DOMXPath($domd);
 $links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
 $n = $_GET['start'];
 $m = $n+100;
 echo $n;
 for ($n; $n<$m; $n++) {
 $file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
 $file .= $links->getAttribute("href");
 $newfile = '../packages/' . $links[$n]->getAttribute("href");
 if (!copy($file,$newfile)) {
 echo 'Nem sikerült a(z) '.$n.' másolása.';
 }
 else {
 echo $n.'. Ok.';
 }
 }
 $uri = $_SERVER['PHP_SELF'].'/?='.$_GET['start']+100;
 header("Location: $uri");
 ?>Fatal error: Call to undefined method DOMNodeList::getAttribute() in /var/www/szunyi.com/openwrt/www/admin/masol.php on line 19 Lehet tényleg jobban járnék valami ajaxos megoldással... 
- 
			
			  PazsitZ addikt válasz  DeltaPower
							
							
								#6252
							
							üzenetére DeltaPower
							
							
								#6252
							
							üzenetérekódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat 
 Mondjuk azt, hogy van olyan szerkesztő amely nem. 
- 
			
			  DeltaPower addikt válasz  TomyLeeBoy
							
							
								#6251
							
							üzenetére TomyLeeBoy
							
							
								#6251
							
							üzenetéreamit írtál, ez is egy használható szintaxis, viszont kódszerkesztőkben a szintaxis kiemelés nem ismeri fel az idézőjelen belül használt változókat auto increment mezőnél fölösleges megadni az üres értéket 
- 
			
			  TomyLeeBoy tag $parancs = "INSERT INTO belepes (id,nev,jelszo) "; 
 $parancs.= "VALUES('', '".$nev."','".$jelszo."')";VALUES-ben miért van a változók körül dupla idézőjel és pont? ( pl.: '".$nev"' ) nekem ez így szokott kinézni: $parancs4 = "INSERT INTO film_con (user_id,film_id,num) VALUES ('$user_id','$film_id','$num')"; és eddig még mindig működött több féle szerveren és php verzióval is. 
 Az idézett film_con táblámban is van auto increment id, de azt bele sem rakom a parancsba, szépen létrehozza.
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6249
							
							üzenetére Speeedfire
							
							
								#6249
							
							üzenetéreEz is egy megoldás. 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6248
							
							üzenetére Tele von Zsinór
							
							
								#6248
							
							üzenetéreAjaxxal még nem foglalkoztam.  Mennyire lenne csúnya megoldás, ha mindig meghívnám a php fájlt és egy for ciklussal iratnám ki a dolgokat. A fájl végén meg a headerbe továbbítanám +100-as start paraméterrel. Így mindig meghívja megát a fájlt. 
 Kicsi csúnya lenne, meg nem tudnám,hogy melyiket sikerült neki átmásolnia, de menne.
 Esetleg sessionben.
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6247
							
							üzenetére Speeedfire
							
							
								#6247
							
							üzenetéreAjaxot csináltál már? Nem bonyolult, a gondolatmenetem meg kifejtem bővebben: ha nincs start paraméter, akkor egy olyan oldalt kap a kliens, ami betöltődésekor beállít egy változót nullára, majd elindít egy ajax kérést a háttérben, amiben átadja ezt a változót, mint start. Az ajax kérés a start paramétertől indulva (annyiadik linktől) lement mondjuk 100 linket az oldalról, majd kiírja, hogy hányat mentett le (és csak ennyit ír ki). Az eredeti oldal fogja ezt a számot, növeli ennyivel azt a bizonyos változót, majd új ajax kérést indít. Az egész addig ismétlődik, amíg valamelyik kérés nullát nem ad vissza - azaz elfogytak a lementendő linkek. 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6246
							
							üzenetére Tele von Zsinór
							
							
								#6246
							
							üzenetéreValóban tiltva van.  Viszont ez az ajax meghívás nekem magas.  
 Ennyire nem értek a dologhoz. 
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6245
							
							üzenetére Speeedfire
							
							
								#6245
							
							üzenetéreValószínűleg lejár a futásidő. Ingyenes tárhely, szóval valószínűleg tiltva a set_time_limit (azért nézd meg). Ötlet: az oldal, ha paraméter nélkül hívod meg, csak annyit csinál, hogy ajax-szal meghívja önmagát mondjuk százasával növekvő start paraméterrel egész addig, amíg van mit letölteni (az ajax hívás eredményéből mondjuk). 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6244
							
							üzenetére Tele von Zsinór
							
							
								#6244
							
							üzenetéreEz még jobb mint az enyém (a tied).  Viszont itt is felmásolja az első ~1200 fájlt után dob egy error500-at. Ingyenes tár ismét hangsúlyozom. Ezzel lehetne valamit kezdeni? 
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6243
							
							üzenetére Speeedfire
							
							
								#6243
							
							üzenetéreAz általam tesztelt kód és a kimenetének eleje: maerlyn@biliskner:~/tmp$ cat tmp.php 
 <?php
 $domd = new DOMDocument();
 libxml_use_internal_errors(true);
 $domd->loadHTML(file_get_contents("http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/"));
 libxml_use_internal_errors(false);
 $domx = new DOMXPath($domd);
 $links = $domx->query(sprintf("//a[position() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
 foreach ($links as $link) {
 $url = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/' . $link->getAttribute("href");
 echo $url . "\n";
 }
 maerlyn@biliskner:~/tmp$ php tmp.php | head
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/../
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6in4_8-1_all.ipk
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6scripts_0.1-6_all.ipk
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6to4_3-1_all.ipk
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/6tunnel_0.11rc2-2_ar71xx.ipk
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/GraphicsMagick-jpeg_1.3.8-2_ar71xx.ipk
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/GraphicsMagick_1.3.8-2_ar71xx.ipk
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz
 http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/ahcpd_0.51-3_ar71xx.ipkAmire felhívnám a figyelmet: az xpath queryben nem pos(), hanem position() van, valamint a hrefben csak egy relatív url van, hozzá kell csapni az elejéhez a base urlt. 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6242
							
							üzenetére Tele von Zsinór
							
							
								#6242
							
							üzenetéreMost nincs error,warning ellen nem fut le a másolás. Lehet én értem rosszul az egész folyamatot. Ha jól értem akkor a $link a megadott paramétere a href="" -nek. $domd = new DOMDocument(); 
 libxml_use_internal_errors(true);
 $domd->loadHTML("lista.txt");
 libxml_use_internal_errors(false);
 $domx = new DOMXPath($domd);
 $links = $domx->query(sprintf("//a[pos() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0));
 foreach ($links as $link) {
 $link->getAttribute("href");
 $file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
 $file = $link;
 $newfile = '../packages/'.$link;
 if (!copy($file,$newfile)) {
 echo 'Nem sikerült a(z) '.$i.' másolása.'; flush();
 }
 else {
 echo $i.'. Ok.'; flush();
 }
 }
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6241
							
							üzenetére Speeedfire
							
							
								#6241
							
							üzenetére1, flush() kell neked. 2, kimaradt egy ] és egy ): $links = $domx->query(sprintf("//a[pos() >= %d]", isset($_GET["start"]) ? (int)$_GET["start"] : 0)); 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6239
							
							üzenetére Tele von Zsinór
							
							
								#6239
							
							üzenetéreVagy nagyon béna vagyok vagy tényleg béna vagyok, de nekem sehogy sem akar menni. :S 1. Igen elvileg kiírja, de akkor amikor lefutott a script, real time kiírásra gondoltam, de azt ahogy sejtem csak ajaxal lehetne megoldani. 2. Minden formában próbáltam már de mindig warning van vagy error erre a sorra: 
 $links = $domx->query(sprintf("//a[pos() >= %d", isset($_GET["start"]) ? (int)$_GET["start"] : 0);
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6238
							
							üzenetére Speeedfire
							
							
								#6238
							
							üzenetére2. ahogy látom, most is kiírod, ha valamelyik kész (echo $i.'. Ok.';) 1. igen, meg lehet. Ráadásul egyszerűbben is, mint ez az explode-os bohóckodás, nem véletlen mondtam korábban a php DOM műveleteit. A következő kód feltételezi, hogy a lista.txt a korábban látott filelista html kódja, vagy nagyon hasonló: $domd = new DOMDocument(); 
 libxml_use_internal_errors(true);
 $domd->loadHTML("lista.txt");
 libxml_use_internal_errors(false);
 $domx = new DOMXPath($domd);
 $links = $domx->query(sprintf("//a[pos() >= %d", isset($_GET["start"]) ? (int)$_GET["start"] : 0);
 foreach ($links as $link) {
 //$link->getAttribute("href") ellenőrzése, ha kell, mentése
 }Ennek át tudsz adni get-ben egy paramétert, és az annyiadik linktől kezdi. Ha nem adsz meg semmit, az elsőnél. Csak gyorsan beírtam ide, szóval nem tesztelt kód. 
- 
			
			  Speeedfire félisten Kicsit gányolni kellett a kódomat, most úgy ahogy jó. Viszont nagyon sok fájl van ezért egy idő után lehal és error 500-at dob vissza. 2 kérdésem lenne ezzel kapcsolatban: 1. Meglehet oldani valahogy azt, hogy ne akarja az egészet egyszerre megcsinálni? 
 2. Kilehetne valahogy iratni egyesével ha már valamelyiket átmásolta?A kód: 
 <?php
 $handle = @fopen('lista.txt','r');
 if ($handle) {
 $i = 0;
 while (($buffer = fgets($handle, 4096)) !== false) {
 $file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/';
 $buffer = explode('"', $buffer);
 $file .= $buffer[1];
 $newfile = '../packages/'.$buffer[1];
 if (!copy($file,$newfile)) {
 echo 'Nem sikerült a(z) '.$i.' csomag másolása.';
 }
 else {
 echo $i.'. Ok.';
 }
 }
 if (!feof($handle)) {
 echo "Error: unexpected fgets() fail\n";
 }
 fclose($handle);
 }
 $file = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin';
 $newfile = '../'.end(explode('/',$file));
 if (!copy($file,$newfile)) {
 echo 'Nem sikerült a másolás.';
 }
 else {
 echo 'Sikeres volt a bin letöltése.';
 }
 ?>A txt fájl meg ilyesmi (2700 sor, ergó 2700 fájl másolását akarom ráuszítani): <a href="6in4_8-1_all.ipk">6in4_8-1_all.ipk</a> 13-Feb-2011 04:43 2513 
 <a href="6scripts_0.1-6_all.ipk">6scripts_0.1-6_all.ipk</a> 13-Feb-2011 05:44 2284
 <a href="6to4_3-1_all.ipk">6to4_3-1_all.ipk</a> 13-Feb-2011 04:43 3206
 <a href="6tunnel_0.11rc2-2_ar71xx.ipk">6tunnel_0.11rc2-2_ar71xx.ipk</a> 13-Feb-2011 05:44 7345
 <a href="GraphicsMagick-jpeg_1.3.8-2_ar71xx.ipk">GraphicsMagick-jpeg_1.3.8-2_ar71xx.ipk</a> 13-Feb-2011 09:48 18431Az első teszt eredménye 1200db fájl lett átmásolva. Tovább nem szeretném bontogatni a txt-t. 
- 
			
			  Gyick őstag Az apache amugy fut normalisan win7 64bit alatt?l 
- 
			
			  Tele von Zsinór őstag válasz  fordfairlane
							
							
								#6235
							
							üzenetére fordfairlane
							
							
								#6235
							
							üzenetéreA PDO magától nem csinál ilyet, csak ha prepared statementeket használsz. De azt tudja a mysqli is. 
- 
			
			  j0k3r! őstag válasz  Speeedfire
							
							
								#6229
							
							üzenetére Speeedfire
							
							
								#6229
							
							üzenetéreSpeeedfire, PazsitZ: mindig tanul valamit az ember  (#6227) Gyick: amugy, ha komolyabb adatbazisrol van szo, akkor a jelszavakat eloszor 'titkositsd', aztan tarold oket el.(pl: md5, sha1) 
- 
			
			  Gyick őstag válasz  Speeedfire
							
							
								#6223
							
							üzenetére Speeedfire
							
							
								#6223
							
							üzenetére$parancs = "INSERT INTO belepes (nev,jelszo) VALUE ('$_POST['nev']','$_POST['jelszo']')"; 
 Most ebben a sorban jelez hibát dreamweaver de nem tudom mi lehet az..
- 
			
			  Speeedfire félisten <? 
 $kapcsolat = mysql_connect("localhost","proba","123");
 mysql_select_db("sajatoldalam",$kapcsolat);
 $parancs = "INSER INTO belepes (nev,jelszo) VALUE ('$_POST['nev']','$_POST['jelszo']')"; //$ jel kell, nem &
 mysql_query($parancs,$kapcsolat);
 mysql_close($kapcsolat); //ez nem volt lezárva, gondolom jelezte is neked
 header("location: belepeselfogad.php");
 ?>Talán menni fog, de van egy olyan érzésem, hogy php4-es könyvből tanulsz... Szerk.: Mindig megelőznek.... 
- 
			
			  j0k3r! őstag igy elso ranezesre: $nev = $_POST['nev']; 
 $jelszo = $_POST['jelszo'];
 $parancs = "INSERT INTO images (nev,jelszo) ";
 $parancs.= "VALUES('".$nev."','".$jelszo."')";persze ezeket elotte nem art ellenorizni, a jelszot meg hash formaban tarolni. szerk: 
 mysql_close($kapcsolat) vegen hianyzik egy ;
- 
			
			  Gyick őstag Sziasztok! 
 Kérdesem lenne!Még csak most ismerkedek a phpvel,de van egy dolog ami az istennek sem akar müködni.a php kód <? 
 $kapcsolat = mysql_connect("localhost","proba","123");
 mysql_select_db("sajatoldalam",$kapcsolat);
 $parancs = "INSER INTO belepes (nev,jelszo) VALUE ('&nev','&jelszo')";
 mysql_query($parancs,$kapcsolat);
 mysql_close($kapcsolat)
 header("location: belepeselfogad.php");
 ?>a html egy része <form action="hozzaad.php" method="post"> 
 <table width="146">
 <tr>
 <td width="30">Neved:</td>
 <td width="98"><input type="text" name="nev" class="formInputField" size="12" maxlength="16" /></td>
 </tr>
 <tr>
 <td>Jelszó</td>
 <td><input type="password" name="jelszo" class="formInputField" size="10" maxlength="8" /></td>
 </tr>
 <tr>
 <td></td>
 <td><br /><input type="submit" name="regisztracio" value="Regisztráció" class="gomb" /></td>
 </tr>
 </table>
 </form>Szóval ha jól értelmezem akkor amit beirok és rákkattintok a submit gombra akkor amit beirtam annak bele kellene iródnia a létre hozott adatbázisba ill a táblába.De egyszerüen nem jelenik meg ott.Mi lehet a gond?Próbáltam legújabb wamp-al meg egy régebbi Appserv-el is.Amúgy ez ilyen oktatóleirásból van szal müködnie kellene. 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6219
							
							üzenetére Tele von Zsinór
							
							
								#6219
							
							üzenetéreAnnyira jó, hogy a curl_exec() függvény tiltva van ezen a tárhelyen.... Ezt próbáltam meg kezdésnek: $ch = curl_init("http://downloads.openwrt.org/snapshots/trunk/ar71xx/"); 
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $output = curl_exec($ch);
 curl_close($ch);
 echo $output;
- 
			
			  Tele von Zsinór őstag válasz  Speeedfire
							
							
								#6218
							
							üzenetére Speeedfire
							
							
								#6218
							
							üzenetéreCurllal lekéred a filelistád. Dommal kiparseolod belőle a linkeket. Curllal egyenként letöltöd és mented őket. 
- 
			
			  Speeedfire félisten Még is csak lenne egy gondom. Távolról akarok fájlokat másolni egy helyi szerverre. De ugye a http protokoll nem engedélyzett.... 
 Van valami megoldás rá? Vagy csak ha kicopyzom a fájlok nevét, majd azt egy tömbbe rakom?$dir = 'http://downloads.openwrt.org/snapshots/trunk/ar71xx/'; 
 if ($dir = opendir($dir)) {
 $i = 1;
 while (false !== ($file = readdir($dir))) {
 if($file!='.' && $file!='..' and $dir > 0) {
 if (!copy($dir.$file,'../'.$file)) {
 echo $file;
 echo 'Nem sikerült a másolás.';
 }
 else {
 echo $file;
 echo 'Ok.';
 }
 $i++;
 }
 }
 closedir($dir);
 }
- 
			
			  Speeedfire félisten válasz  Speeedfire
							
							
								#6216
							
							üzenetére Speeedfire
							
							
								#6216
							
							üzenetéreMegy ez csak ugyanazt a változónevet kellene használni...  
- 
			
			  Speeedfire félisten A copy()-val kapcsolatban lenne kérdésem. 
 Az szeretném megoldani, hogy az adott fájlokat egy könyvtárral visszábra másolja, de nem akar összejönni.if (!copy($file,'../'.$newfile)) { 
 echo 'Nem sikerült a másolás.';
 }
 else {
 echo 'Ok.';
 }
- 
			
			  ArchElf addikt válasz  Brown ügynök
							
							
								#6214
							
							üzenetére Brown ügynök
							
							
								#6214
							
							üzenetérepszeudo: 
 // tábal header létrerhozása
 tablazatba($HEADERROW);
 foreach ($kat in fetch_results_from_query("select distinct kategoria from hirdetes"))
 {
 // üres tábla sor beszúrása elválasztásra, ha kell
 tablazatba($EMPTYROW);
 $rows <= fetch_results_from_query("select * from hirdetes where kategoria=$kat LIMIT 3")
 foreach ($row in $rows)
 {
 // tábla rész létrehozása
 tablazatba($row);
 }
 }Esetleg belemehet a második querybe egy 
 ORDER BY készítésdátuma DESC, készítésideje DESC
 és így a legfrissebb 3 fog kategóriánként megjelenni.AE 
- 
			
			  M.Úr tag válasz  Brown ügynök
							
							
								#6212
							
							üzenetére Brown ügynök
							
							
								#6212
							
							üzenetéreHa mindenképp egy lekérdezéssel akarod megoldani, akkor így biztos sikerülni fog: (select * from hirdetes where kategoria=1 LIMIT 3) 
 UNION ALL
 (select * from hirdetes where kategoria=2 LIMIT 3)
 UNION ALL
 (select * from hirdetes where kategoria=3 LIMIT 3)
 UNION ALL
 (select * from hirdetes where kategoria=4 LIMIT 3)
 UNION ALL
 (select * from hirdetes where kategoria=5 LIMIT 3)Ez persze nagyon randa, nem skálázható, de legalább működik. Itt egy cikk, ami hasonló kérdést feszeget, hátha találsz benne valami használható ötletet: 
 [link]
- 
			
			  Brown ügynök senior tag válasz  Brown ügynök
							
							
								#6211
							
							üzenetére Brown ügynök
							
							
								#6211
							
							üzenetéreAz összes kategóriát! . Tehát az összes hirdetés egy táblában van és a hirdetéseknél a kategória száma is rögzítve van. Ha pl. szállítási hirdetés akkor kategória 1, utazási kategória 2 és így tovább.  
- 
			
			  Brown ügynök senior tag Adatbázis: Tegyük fel van benne egy hirdetés tábla. A tábla tartalmazza a kategóriát (num), tárgy, ár, feladás dátuma stb. Lekérdezés: 
 "SELECT *, (SELECT COUNT(kategoria) FROM `hirdetes_felad`) FROM `hirdetes_felad` ORDER BY kategoria, keszitesdatuma DESC ;"Táblázat: Ameddig van listázandó sor: 
 if(count($rows)>0)
 for($i=0;$i < count($rows);$i++){
 <table>
 <tr>
 <td> rows[$i]->targy</td> stb.
- 
			
			  M.Úr tag válasz  Brown ügynök
							
							
								#6209
							
							üzenetére Brown ügynök
							
							
								#6209
							
							üzenetéreHogy néz ki most az adatbázisod, és a lekérdezésed? 
- 
			
			  Brown ügynök senior tag 
- 
			
			  M.Úr tag válasz  Brown ügynök
							
							
								#6207
							
							üzenetére Brown ügynök
							
							
								#6207
							
							üzenetéreTöbb lehetőséged van. 
 1. A lekérdezést írod át: beírsz a végére egy korlátot a LIMIT kulcsszó segítségével.
 Pl.:
 SELECT * FROM utazas ORDER BY datum LIMIT 3Ekkor legfeljebb 3 sort ad vissza a lekérdezés. 2. A lekérdezést változatlanul hagyod, viszont amikor PHP-ben feldolgozod az eredményt, csak három sort töltesz be a táblázatba. 
 Pl.:$i=0; 
 while (($row= mysql_fetch_assoc($result)) && ($i<3))
 {
 tablazatba($row);
 $i++;
 }Én az első megoldást javaslom, mert csökkenti az adatbázis-szerver terhelését, és az adatforgalmat. 
- 
			
			  Brown ügynök senior tag A következő a problémám: Szeretném lekérdezi az adatokat a táblázatból úgy, hogy kategóriánként 3 sort listázzon. Mindegyik kategóriát külön táblázatba kellene listázni. 
 Tehát: 1. táblázat: szállítás 3 hirdetést listáz 2. táblázat üdülés 3 hirdetést listáz és így tovább.Odáig jutottam, hogy lekérdezésél megszámolom a kategóriákat, majd bekérem az összes adatot kategóriánként rendezve. A táblázatokat php-val generálom, majd egy tömbből töltöm be az adatokat: 1. lekérdezés 
 2. lekérdezés eredménye-->tömb
 3. táblázat generálása php-val, sorok betöltéseA kérdésem, hogy a lekérdezést vagy a táblázat generálását kellene-e átírni ahhoz hogy kategóriánként 3 adatot listázhassak, külön táblázatokba rendezve. Ha szükség van rá berakom a kódot. 
 Elsősorban az irányelvre vagyok kíváncsi.
- 
			
			  PazsitZ addikt válasz  Inv1sus
							
							
								#6205
							
							üzenetére Inv1sus
							
							
								#6205
							
							üzenetéremeghívja az ott lévő konstruktorokat meghívja a konstruktort. Egy osztálynak egy konstruktora van. Ha "többszörös öröklés" (lánc) áll fenn, akkor a folyamatos parent::__construct() hívásokkal lehet meghívni több konstruktort. Meghívni egyáltalán nem muszáj, pont ezért nem automatikus, hanem kézzel kell megadni, ha szükséged van rá. Ha bármit megváltoztatsz akkor a következő futtatásnál a változtatott kód fut le. 
 Ha pl. változó érték megváltoztatásra gondolsz, az az általános láthatóság és írhatóságtól függ, hogy tudod-e.
 Remélem a válaszom segített.
- 
			
			  Inv1sus addikt Na lehet akkor megértettem. Elmondom hogy értelmeztem, aztán kijavítotok, ha úgy érzitek  <?php 
 class Blog extends CI_Controller {
 function __construct()
 {
 parent::__construct();
 // Your own constructor code
 }
 }
 ?>Ha példányosítom a Blog osztályt, akkor az osztály __construct() nevű függvénye automatikusan lefut. A parent::__construct();-nak pedig az a szerepe, hogy az ősosztályból (CI_Controller) is meghívja az ott lévő konstruktorokat. Ha ezután valamelyik konstruktort módosítom a "// Your own constructor code" részben, ami szerepelt az ősosztályéban, akkor felülíródik? Muszáj a parent::__construct(); mindig meghívni? És ha a többi osztályban módosítani szeretnék egy function __construct()-ban definiált értéket nem fogja engedni? Remélem érthetőek voltak a kérdéseim  Ja, meg remélem, hogy én is jól értelmeztem... Ja, meg remélem, hogy én is jól értelmeztem...
- 
			
			  Inv1sus addikt Az ősosztály a Blog, a parent meg a CI_Controller? 
- 
			
			  Speeedfire félisten válasz  Tele von Zsinór
							
							
								#6199
							
							üzenetére Tele von Zsinór
							
							
								#6199
							
							üzenetéreOks, mondjuk ezek a módosítók még nem tiszták nekem teljesen. absztrakt, static meg az imlementálás de rajta vagyok a témán.  
 Inv1sus: Lehet hülyeséget írok, de a parent (gondolom olyasmi lehet mint a self) szerintem meghívja a blog osztály funkcióját, hiába van a CI_Controllerben ugyan ilyen, akkor is a blog osztályét fogja használni.
 Aztán lehet teljesen rossz fele haladok. 
Új hozzászólás Aktív témák
- Munkahelyek tízezreit szünteti meg az AI
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Xiaomi 15T Pro - a téma nincs lezárva
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen egeret válasszak?
- Genshin Impact (PC, PS4, Android, iOS)
- Ingatlanos topic!
- Xiaomi 15 - kicsi telefon nagy energiával
- SSD kibeszélő
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- BESZÁMÍTÁS! Asrock B450M R7 3800X 16GB DDR4 512GB SSD RX 6600XT 8GB GameMax STORM Black Adata 600W
- Xiaomi 11T 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone SE 2020 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3584, 100% Akksi
- Samsung Galaxy S24 Ultra 12GB / 512GB USA modell Szép állapotban!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
 
								 
							 
								 
							 
							 
								 
 
 
								
 
								
 
								 
							 
							 
								 
							 
							 
								 
							 
							 
							 
								 
								 
							 
								 
							 
								 nem lenne egyszerűbb egy file_get_contents vagy hasonló?
 nem lenne egyszerűbb egy file_get_contents vagy hasonló?
 
								 
								
 
							

 
							


 
								 
							 
								 
								

 
							
 
							 
							 
								



