- Eleglide C1 - a középérték
- Redmi Note 10 Pro - majdnem minden stimmel
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- iPhone topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- Ford SYNC 3 infotainment rendszer teszt
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy S9 és S9+ duplateszt
- Samsung Galaxy Z Fold5 - toldozás-foldozás
Hirdetés
-
Mindent megtudtunk az új Nokia 3210-ről
ma Részletes képek, specifikációk és euróban megadott ár is van a legendás modell újraélesztett verziójához.
-
A virágcsokor mellé hardvert is ajándékozhatunk anyák napján
ph A héten desktop PC-k, monitorok, gamer kiegészítők és házak vannak a kirakatban.
-
Mozgásban a Tails of Iron 2 - Whiskers of Winter
gp A folytatásban északról érkezik a fenyegetés egy fosztogató denevérsereg képében.
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz Speeedfire #4757 üzenetére
Nézd meg mégegyszer: biztosan utf8 kódolási a fileod? Biztosan utf8-ként próbálja megjeleníteni a böngésző?
-
Tele von Zsinór
őstag
válasz Speeedfire #4780 üzenetére
Azt mondja a php, hogy a $_SESSION tömbben nincs captcha indexű elem. Nézd át mégegyszer a kódot, ami berakná, illetve nézd meg var_dump()-al.
-
Tele von Zsinór
őstag
válasz Speeedfire #4778 üzenetére
Ez mi akart lenni, em vagy px?
-
Tele von Zsinór
őstag
válasz Speeedfire #4784 üzenetére
Csináld úgy, hogy van egy fileod, ami elintézi a kezdeti dolgokat: db kapcsolat, session_start, ilyenek, és require_once-al húzod be. Ekkor biztosan csak egyszer fogsz például sessiont indítani.
"Minden oldal külön fileban" - ez így van nálam is, mondjuk még jobban is szét vannak darabolva. Azonban a wwwrootban egyetlen file van, az úgynevezett front controller, ez dobja szét a megfelelő, kívülről nem látható phpnak a kérést. Innentől nem kell bohóckodni olyanokkal sem, mint ellenőrizni, a db osztályod közvetlen van-e hívva, vagy include()-al.
[ Szerkesztve ]
-
Tele von Zsinór
őstag
válasz Speeedfire #4790 üzenetére
A require_once() annyit csinál, hogy a fordítás elején berakja az includeolt filet a hívás helyére, és error szintű hibát generál, ha nem tudja olvasni. Mindemellett megnézi, az a file volt-e már require/include hívás áldozata, és ha igen, akkor kihagyja.
A require és az include között a fontos különbség, hogy a require a fordítás elején húzza be (ezért az error), az include csak akkor, amikor odaér a futtatás (ezért csak warningot dob), utóbbit ezért szokták feltételekbe is rakni, mert csak akkor hajtódik végre, ha muszáj.Ha jól értem, egy egyszerű szűrés kell neked. Nem feltétlen kell új file, ha van olyan oldalad, ahol ezeket már listázod valahogy, abba kell belenyúlnod a következőképp: ahol az adatbázisnak átadott queryt állítod össze, tegyél be egy ellenőrzés: ha a $_GET tömbben van mondjuk egy filter kulcsú elem, akkor annak az értékét berakod a query where záradékába. Mivel a listázásig már csak a szűrt elemek jutnak el, ennyivel megúszod a dolgot.
-
Tele von Zsinór
őstag
válasz Speeedfire #4791 üzenetére
Előbbi file 17-es sorában átadod a kategória id-jét, eddig jó. Most a másodikba kell belerakni, hogy szűrjön is rá:
$sql = "SELECT `kategoria`.`kat`, `tartalom`.`szoveg`, `tartalom`.`datum`, `tartalom`.`url`, `tartalom`.`webcim`, `users`.`nick`
FROM kategoria, tartalom, users
WHERE ((kategoria.sorszam = tartalom.katid) AND (users.id = tartalom.fid) and (tartalom.elfogadva='1') AND kategoria.sorszam='". mysql_real_escape_string($_GET['sorszam'])."') ";
if (isset($_GET["get"])) {
$sql .= "AND tartalom.katid = \"" . mysql_real_escape_string($_GET["get"]) . "\"";
}
$sql .= " ORDER BY `tartalom`.`sorszam` ASC"; -
Tele von Zsinór
őstag
válasz Speeedfire #4794 üzenetére
Ha megnézed a rákövetkező hozzászólásom, látod, hogy plusz három sor az egész. Ez nem bonyolítás, és megfelel a DRY (don't repeat yourself) paradigmának is.
-
Tele von Zsinór
őstag
válasz tgabi333 #4799 üzenetére
Van fordítás: a php először egy bytecodet generál a scriptedből, és azt futtatja utána. Az, hogy nem kézzel kell fordítanod, hanem automatikusan történik a háttérben, más kérdés. Egyes cachelési megoldások, mint az APC, részben arra alapulnak, hogy a bytecodet cachelik, így a fordítást megúszod a következő kéréskor. Sok időt lehet vele nyerni, nem véletlen ajánlja a framewokök többsége, hogy tedd fel és engedélyezd éles szerveren.
Most megnéztem biztosra: php.net szerint valóban nincs különbség abból a szempontból, hogy mikor húzza be az includeolt/requireolt filet, de az include csak E_WARNING-ot, míg a require E_ERROR-t dob hiba esetén, így az utóbbinál ott meg is akad a futtatás.
Utasítás alatt azt érted, hogy nem függvényhívás, hanem nyelvi elem? -
Tele von Zsinór
őstag
válasz Speeedfire #4804 üzenetére
Próbáld meg úgy, hogy beteszel egy hidden mezőt, és abban továbbítod az id-t. Ha úgyis get-ben megy a formod, jó lesz így is.
-
Tele von Zsinór
őstag
válasz Speeedfire #4807 üzenetére
strlen(), substr()
-
Tele von Zsinór
őstag
válasz Speeedfire #4850 üzenetére
Nem tudom, mit csinál az intro() függvényed, de így látatlanban a substr()-t hívja. Az oldalad utf8, egy multibyte kódolás, ezért az mb_substr()-t használd, hogy jó legyen.
A hiba abból jön, hogy az utf8 esetenként több byteot használ egy karakter reprezentálására, míg a sima substr() úgy tekinti, hogy egy byte egy karakter. Ezért a tied néha csonkolja.
-
Tele von Zsinór
őstag
válasz Speeedfire #4859 üzenetére
Használd az "u" módosítót, ez mondja meg a PCRE-nek, hogy unicode karaktereket használsz.
-
Tele von Zsinór
őstag
válasz Speeedfire #4909 üzenetére
Mire kell?
-
Tele von Zsinór
őstag
válasz Speeedfire #4914 üzenetére
Amire te gondolsz amiatt van, mert a böngészők mappá(k)nak nézik a te keresőbarát url-ed. Megoldás lehet a statikus dolgoknál az abszolút url, a /-el kezdődő url, vagy a <base> tag.
-
Tele von Zsinór
őstag
válasz Speeedfire #4918 üzenetére
És ha /-el kezdődő url-eket használsz a script meg link tagokban? Így a hosttól kezdi nézni a böngésző.
-
Tele von Zsinór
őstag
válasz Speeedfire #4922 üzenetére
Mi az, hogy nem tudja értelmezni?
Nézd meg az egyik, az aláírásomban szereplő oldalt: tibia.hu. Itt is vannak aldomainek (az oldal nyelvének meghatározására), és /-el kezdődően vannak behúzva a css-ek és a képek. Remekül működik. -
Tele von Zsinór
őstag
válasz Speeedfire #4938 üzenetére
Hogy tisztázzuk: hol a gond, megjelenítésnél vagy tárolásnál?
Optimalizálási tipp: tároláskor küldd rá a geshit, ne megjelenítéskor. -
Tele von Zsinór
őstag
válasz Speeedfire #4941 üzenetére
localhost alatt nem jelzi az escapelést, míg szerveren rendesen látszódik.
Úgy hangzik, mintha a magic_quotes_gpc beállításod nem ugyanaz lenne a két gépen.
-
Tele von Zsinór
őstag
válasz Speeedfire #4962 üzenetére
Azonnal ISE500, vagy pár másodperc várakozás után? Utóbbi esetben kifogysz a futási időből, a hibaüzenetet meg elrejti a php (display_errors = off). Pechedre az ezt megnövelő függvény a legtöbb ingyenes tárhelyen tiltva van, de azért egy próbát megér: set_time_limit().
-
Tele von Zsinór
őstag
válasz Speeedfire #4964 üzenetére
Hibaüzenetek a fejlesztői gépen ugye be vannak kapcsolva? A php.ini display_errors beállítására gondolok. Dev gépen legyen be, prod gépen pedig kikapcsolva.
-
Tele von Zsinór
őstag
válasz vakondka #5002 üzenetére
Igen, de az az igazi, ha csinálsz egy tömböt a user által elfogadott nyelvekkel, prioritási sorrendben, majd megnézed, melyik a legkorábbi eleme, ami a másik tömbben is benne van, ami meg az oldalad által támogatott nyelveket tárolja. Ha egyik sincs, akkor meg az oldalad nyelveinek első eleme a default.
-
Tele von Zsinór
őstag
válasz Speeedfire #5006 üzenetére
Filenév generálásakor str_pad.
-
Tele von Zsinór
őstag
válasz Speeedfire #5009 üzenetére
static public function resizeAndMove($from_path, $to_path, $max_width, $max_height)
{
@ini_set("memory_limit", "128M");
$image_info = getImageSize($from_path);
switch ($image_info['mime']) {
case 'image/jpeg': $o_im = imageCreateFromJPEG($from_path); break;
//add more if needed
default:
return false;
}
$o_wd = imagesx($o_im) ;
$o_ht = imagesy($o_im) ;
if ($o_ht >= $o_wd) {
if ($o_ht > $max_height) {
$lamda = $max_height / $o_ht;
} else {
$lamda = 1;
}
} else {
if ($o_wd > $max_width) {
$lamda = $max_width / $o_wd;
} else {
$lamda = 1;
}
}
$t_ht = round($lamda * $o_ht);
$t_wd = round($lamda * $o_wd) ;
$t_im = imageCreateTrueColor($t_wd,$t_ht);
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
imagePNG($t_im, $to_path );
imageDestroy($o_im);
imageDestroy($t_im);
} -
Tele von Zsinór
őstag
válasz Speeedfire #5012 üzenetére
.=, nem pedig . =, és az else ágadat gondold át megint.
[ Szerkesztve ]
-
Tele von Zsinór
őstag
válasz Speeedfire #5014 üzenetére
Késő este ez van.
Rendben, csak az üres blokk, meg a közvetlen alatta levő sor behúzása miatt úgy nézett ki, hogy elnézted.
-
Tele von Zsinór
őstag
válasz Speeedfire #5023 üzenetére
<ol start="42">
-
Tele von Zsinór
őstag
A . a stringösszefűzés-operátor, nem is működik más típusra.
A mysql_query hívás nem tömböt ad vissza, hanem egy erőforrás-mutatót, amivel szépen a mysql_fetch_* függvények segítségével tudod megkapni az eredményeket.
Először le kell kérned az összes kapott rekordot akár egy tömbbe (végülis minek a kettő), aztán a shuffle hívás összekeveri őket. Innentől meg egy foreach-csel egyszerű kiírni.
-
Tele von Zsinór
őstag
Nagyban meg tudják egyszerűsíteni az életet (mondjuk speciális esetekben nehezíteni is ), én különösen azt szeretem, ahogy az objektumok közötti kapcsolatokat kezelik.
Propelt használok most már három éve, eleinte önmagában, utóbbi időben pedig mint a symfony modell rétege. Doctrine-nal csak kísérletezgettem, de a propel jobban tetszett.
Mindkettő elég jól dokumentált, és a propelt is újra aktívan fejlesztik. Javaslom, nézd meg mindkettőt, és használd a szimpatikusabbat. -
Tele von Zsinór
őstag
válasz Speeedfire #5041 üzenetére
Mert nem ellenőrzöd, hogy van-e olyan kulcs (mondjuk isset-tel), hanem rögtön az értékét kéred le és értékeled ki a feltételben. Vagy tedd isset()-be, vagy használj foreach-t a kézzel növelgetés helyett.
-
Tele von Zsinór
őstag
válasz Speeedfire #5043 üzenetére
De nem azt ellenőrzöd, amit kéne.
while ($_FILES['media']['name'][$i]) {
Azt mondtad, ide írja a hibát, mégpedig azért, mert nem létezik $i indexű elem az adott tömbben. Ennek a létezését nem ellenőrzöd.
Tényleg foreach-csel járnál a legjobban, az garantálja, hogy minden kulcson végigmenj. Ha mindenképp while-ozni akarsz, akkor meg while(list($k, $v) = each($_FILES["media"]["name"])), persze reset($_FILES["media"]["name"] után. -
Tele von Zsinór
őstag
válasz bena_butus #5053 üzenetére
<?php
$start = DateTime::createFromFormat("Y-m-d", "2007-07-06");
$end = new DateTime();
$diff = $start->diff($end);
echo $diff->format("%y ev %m honap %d nap\n");kimenete:
maerlyn@biliskner:~/tmp$ php tmp.php
3 ev 0 honap 22 napmegjegyzés: a DateTime::diff függvény csak php 5.3-tól kezdve létezik.
-
Tele von Zsinór
őstag
válasz bena_butus #5055 üzenetére
Létrehozok két DateTime objektumot, az elsőt a srác születési dátumára (ha jól értettem a te kódodból), a másikat paraméter nélkül, így az aktuális időt veszi fel értékül.
A harmadik sorban veszem a kettő különbségét, eredményül kapok egy DateInterval objektumot, aminek az értékét végül formázva kiírom. -
Tele von Zsinór
őstag
válasz Speeedfire #5080 üzenetére
A célszerver adatbázismotorjának beállításától függ. Ha engedik a külső kapcsolódást, akkor meg is vagy: localhost helyett a szerver címét írod be.
Ingyenes tárhelyekről nincs tapasztalatom, de egy megnézést megér. -
Tele von Zsinór
őstag
válasz Ősember #5077 üzenetére
Nyilván nem, mert a substr legfeljebb kettő karaktert fog visszaadni.
A +22-vel trükközést sem értem. Ha azért csinálod, mert a string legelején megtalálva mégis hamis lenne az ifed, akkor használd az ekvivalencia operátort (===), ha nem találja, a visszatérési értéke ekvivalens false-al, amúgy a találat helye.
Harmadrészt az $isAvailable változót hiába állítod, mert nem lesz elérhető a függvénytörzsön kívülről. -
Tele von Zsinór
őstag
válasz Ősember #5094 üzenetére
A dokumentáció szerint:
If length is given and is positive, the string returned will contain at most length characters beginning from start (depending on the length of string).
[...]
If length is given and is 0, FALSE or NULL an empty string will be returned.tehát nem számol nulladik karaktert, ha hármat akarsz visszakapni, akkor hármat írj oda.
A $contentben van valami? A $pos1 milyen értéket kap? Ha kiírod a trim(substr($content,$pos1,3)) értéket visszaadás helyett, mit kapsz?
-
Tele von Zsinór
őstag
válasz Speeedfire #5097 üzenetére
Nem csak a tinymce, sőt: az asztali szövegszerkesztők (word, OOo writer) is így viselkednek: enter = új bekezdés, shift+enter = sortörés.
-
Tele von Zsinór
őstag
válasz Ősember #5103 üzenetére
Milyen kódolású a $content? Ha utf8, akkor használd az mb_substr() függvényt a sima substr() helyett.
-
Tele von Zsinór
őstag
Egy jó szolgáltató rugalmas kéne hogy legyen e tekintetben, de az Options direktívát jó eséllyel tudod állítani .htaccess-ből is. Ahol én vagyok, eleve tiltva van a listázás.
Mappa jog módosítás annyit segíthet, hogy ha leveszed az execute jogot a mappáról, akkor nem lehet listázni, például ls-el, de közvetlen elvileg elérhetők a fileok. Egy próbát megér a dolog.
Nagyon összetett dolog a .htaccess, kiterjedt lehetőségekkel. Egy-egy részre jó eséllyel találsz használható leírást gugliban (ami neked kell, az például a mod_rewrite, de a témába beletartozik a reguláris kifejezések használata is), de egyben biztosan nem.
-
Tele von Zsinór
őstag
A home.php elejére (session_start után persze) rakott var_dump($_SESSION) mit mond?
Tudsz: header("Location: home.php"); die();
die azért kell, mert különben folytatná a futást a login.php, feleslegesen. Éles kódban ajánlott valami html kimenet, elmagyarázandó, hogy tovább lettél irányítva, meg egy link.
Új hozzászólás Aktív témák
- Bomba ár! Lenovo E31-80 - i5-6200U I 8GB I 256GB SSD I 13,3" I HDMI I Cam I Win10 I Garancia!
- Bomba ár! Lenovo ThinkPad L530 - i5-3GEN I 8GB I 500GB I DVDRW I 15,6" HD I mDP I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad T570 - i7-7GEN I 8GB I 256GB SSD I 15,6" FHD I HDMI I Cam I W10 I Gari!
- Bomba ár! Lenovo X1 Carbon 6th: i7-8GEN I 16GB I 256GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Dell Latitude E6430, E5430, E6410 i5 - i7 - 14" laptopok - számla, garancia
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest