- Motorola Moto Tag - nyomom, követ
- Mobil flották
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Yettel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- iGO Primo
- One mobilszolgáltatások
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Magisk
- Akciófigyelő: Jelentősen olcsóbban nyit az Ulefone új mindenese
Új hozzászólás Aktív témák
-
biker
nagyúr
válasz
Sk8erPeter #4016 üzenetére
tudom, hogy nem ram celzott, csak jeleztem, en is ide tartozom, csak a jobbik korbe. pl en nem uzemeltetek ugy oldalt, mint a nagytudasu, mysql kapcsolat localhost, user root es nincs jelszo
-
cucka
addikt
válasz
Sk8erPeter #4017 üzenetére
Eddig nem igazán értettem, hogy ha nem adatbázisból szeded, akkor mégis honnan, ha csak egy osztályod van...
Nem értem, mit nem értesz. Ott a kód, nézd meg, hogy melyik függvény mit csinál, direkt egyszerű példát írtam, összesen 1 darab származtatás van benne, ami oop.
Így viszont pont a rugalmasságát veszti el a dolog, ha kézzel kell hozzáadni, nem?
A kód végén ott van 3 darab példa arra, hogy hogyan lehet használni ezeket az osztályokat különféle helyzetekben. A kommenteket nem dísznek írtam a kódba, hanem hogy elolvasd.
És a gyakorlatban ezt a kézzel való hozzáadást hogy kell elképzelni?
Úgy, ahogy az első példában van. -
cucka
addikt
válasz
Sk8erPeter #4012 üzenetére
Ez most ilyen default értéket ad, mert a hu és en nyelvekhez nyúlkálsz a legtöbbször, és ha mégis másik nyelvre van szükséged, akkor lekérdezed adatbázisból, de egyébként nincs rá szükség?
A kódban található osztályok nem tudnak olyat, hogy default érték, de bele lehet építeni.
Ha megfigyeled, a kimásolt kódban a my_language osztályt példányosítom be, amelynek nincs szüksége semmilyen adatbázisra, működik anélkül is. Nyilván ekkor kézzel kell hozzáadni a lehetséges nyelveket (vagyis az add_language metódust használva)
A my_db_language osztály annyival tud többet, hogy ki tudja olvasni az adatbázisból a lehetséges nyelvek listáját. Ha megnézed, akkor ugyanazt az add_language metódust használja, mint amit az első példában kézzel hívtam meg.Amúgy ezek csak példa osztályok, az elv a fontos. A my_language képes rá, hogy nyilvántartsa a nyelvek listáját, oda-vissza fordítson szöveges azonosító és numerikus azonosító között. A my_db_language ennek a leszármazottja, egy plusz funkcióval, be tudja olvasni a nyelvek listáját az adott táblából/mezőnevekből.
(Amúgy nagyon hasonló a saját language osztályom is, csak az ki van bővítve néhány funkcióval) -
cucka
addikt
válasz
Sk8erPeter #3992 üzenetére
Tessék egy lehetséges megoldás, hogy el tudd képzelni: [link] .
Azért nem másoltam ide, hogy olvasható maradjon a kód. Röviden:
- van egy nyelv osztály, ami a nyelvekkel kapcsolatos funkciókat valósítja meg.
- ebből származtatok egy adatbázisos nyelv osztályt, ami annyit tesz hozzá, hogy az adatokat be tudja olvasni az adatbázisból
- az adatbázis kapcsolat objektumot a $dbconn változó jelenti, ennek létrehozása nincs benne a kódban
- a kód végén van példa 3 fajta példányosításra. Legtöbbször az adatbázisban a nyelv tábla és a mezők neve adott, ezek vannak beállítva default-nak, ugyanakkor meg kell adni a lehetőséget, hogy bármilyen tábla és mezőnevekre is működjön a rendszer.
- írtam bele pár kommentet is, remélem érthető -
raczger
őstag
válasz
Sk8erPeter #3979 üzenetére
De, viszont miután megcsináltam a táblázatból rájöttem, hogy nem biztos hogy a tinymce úgy konvertálja át a betűket ahogy én gondolom (van ugye entity number és name is a linkelt oldalon), így egyszerűbb volt kikeresni összességében, hisz csak pár ékezetes magyar betű van szerencsére.
-
cucka
addikt
válasz
Sk8erPeter #3980 üzenetére
Most mit kötekszel? Nem arról volt szó, hogy fingom sincs, mi az a gráf vagy fa, hanem arról, hogy jelen esetben Te hogy oldottad meg a gyakorlatban.
Nem kötekedésként írtam. A fa tárolási eljárásom amúgy teljesen szokványos megoldás, nincs benne semmi hókuszpókusz. Azért kérdeztem, hogy tanították-e, mert általában egyetemeken ilyesmiket meg szoktak mutatni gyakorlati órákon, tehát nem kell mindent az alapoktól magyaráznom.
A kérdés oka az volt, hogy először úgy képzeltem, hogy a language táblát is azért kell joinolni, mert mondjuk úgy kérdezel le, hogy "... WHERE language.name='en';", és akkor tényleg kellett volna joinolni, mivel akkor különben honnan szeded a nevet?
Egy lekérdezésnél akkor kell bejoin-olni egy táblát, ha szükséged van valamilyen mezőre belőle. A nyelvek kezelését egy nyelvkezelő osztállyal oldom meg, amely a konstruktorában betölti a rendszerben található összes nyelvet. Ha szükségem van arra, hogy a "hu" nyelvnek mi az azonosítója, akkor megkérdezem a nyelvkezelő objektumtól (és nyilván fordítva is, ha mondjuk a 2-es nyelv szöveges nevére van szükség). Így megspórolom, hogy minden egyes, többnyelvű adatot érintő lekérdezésbe bele kelljen join-olni a nyelv táblát is.Igen, viszont így megnő az esélye annak, hogy elcseszi a fájlt, és ha nem ért a HTML-hez, akkor néz, hogy miért nem működik.
Félreértetted. A felhasználó által szerkesztett menü egy xml-ben van, a felhasználó által szerkesztett szöveges tartalom pedig file-okban. Magát a honlap sablonját nem piszkálhatja, egyszerűen csak kap egy fckEditor-t, ahova beírhatja a szöveges tartalmakat. Így nem tud elrontani semmit.Akkor meg már mondjuk az a kérdés is felmerül, hogy miért is ne használjunk adatbázist a saját életünk megkönnyítésére, és alakítunk ki egy jó admin felületet a megrendelőnek, ahol sokkal szebb felületen tudja szerkesztgetni a menüpontokat és a belső tartalmat.
A most említett file-os megoldásom pontosan ugyanazt tudja, mint ha adatbázisból működne a dolog. A korábban említett, oop-s fa reprezentációm pont ezért hatékony, mert a hozzá tartozó alkalmazáslogika, adminisztrációs felület vagy megjelenítés szempontjából érdektelen, hogy adatbázisban vagy xml-ben tárolod a fát/menüt.A file-ban tárolós megoldás azért hatékony, mert sok ügyfél csak egy pár menüpontból álló szöveges honlapot kér. Ezt megfelelő keretrendszerrel ezt 1-2 nap alatt meg lehet csinálni és csak egy php-s tárhelyre van szükség hozzá. Gyakorlatilag csak a html/css részét kell elkészíteni, a többi már kész van, ezért fontos követelmény a programkódnál az újrafelhasználhatóság.
-
cucka
addikt
válasz
Sk8erPeter #3971 üzenetére
Jaaaa, akkor már sejtem a parent_id szerepét. Vagyis ez akkor arra való, hogy adott menüpontnak tetszőleges számú almenüpontja legyen?
Igen. Vagyis tetszőleges elemszámú és mélységű menüt lehet vele reprezentálni.
(Sőt, tulajdonképpen tetszőleges mélységű fát lehet vele reprezentálni, tehát nem csak menüre jó, hanem mondjuk webshop termékkategóriákhoz is). Az iskolában nem tanították, hogy hogyan kell gráfokat és azon belül fákat reprezentálni?Na, ez az MVC-szerkezet egyelőre kicsit magas
Pedig eddig is erről volt szó.
Az M betű a modell, ez az osztályaidat jelenti, amelyek általános feladatokra készültek.
A C betű a controller, ez gyakorlatilag az alkalmazáslogika. Itt példányosítod be az osztályokat, itt kezeled le az eseményeket és itt végzed el azokat a műveleteket, amelyek a html kiíráshoz szükségesek.
A V betű a html sablonokat jelenti. Ezekben már nincs alkalmazáslogika, csak html kiírás.De ettől függetlenül valószínűleg mindenképp joinolni kell a language és menu táblát is, hogy ezek azonosíthatók legyenek.
A menü táblához join-olod a menu_content táblát inkább. A language-et csak akkor, ha muszáj.Akkor már nem lenne esetleg jobb/szebb megoldás egy külön összekapcsoló táblát létrehozni erre a célra?
Nem. A menü és a menü tartalom táblák között 1:n típusú reláció van. Ha n:m reláció lenne, akkor lenne szükség kapcsolótáblára. Ezt sem tanították az iskolában?Tehát ha azt mondod, hogy nem lesz gyorsabb attól, hogy fájlból olvasom ki, akkor mindenképp maradok az adatbázisnál.
A file-os megoldás azért jó, mert tudsz olyan oldalt készíteni, amelynél a megrendelő saját maga szerkeszthetik a menüt és a menüpontok tartalmát, mégsincs hozzá szükség adatbázisra. -
raczger
őstag
válasz
Sk8erPeter #3975 üzenetére
Tinymce editort használok az oldalnál és az ugye átalakítja az ékezeteket, így kikerestem mindegyik ékezetet mivé alakítja és ennek megfelelően alakítottam át (mysql-ben a tartalomban keresek, azért kellett ez), szóval:
"Ő" => "Ő",
"ő" => "ő",
"Ű" => "Ű",
"ű" => "ű", -
raczger
őstag
válasz
Sk8erPeter #3973 üzenetére
Az ő-t meg ű-t nem jól konvertálja át, pontosabban ilyen litván vagy milyen ékezetté alakítja: õ û
-
raczger
őstag
válasz
Sk8erPeter #3969 üzenetére
Igen, azt néztem, de nem azt csinálta amit szerettem volna. Mindegy, azóta írtam gyorsan egy függvényt, úgyis csak a magyar ékezetes betűket kellett átkonvertálnom
-
cucka
addikt
válasz
Sk8erPeter #3960 üzenetére
A táblakapcsolásokról a képet, amit betettél, milyen programmal generáltad?
Dbdesigner 4 a program neve, ingyenes és néha kicsit bugos. [link]Hmm, hogy érted, hogy magára mutat? Mármint ezt MySQL-utasítások tekintetében hogy kellene elképzelni?
Ugyanúgy, mint ha egy külső táblára mutatna, semmi különbség nincs. A magára mutat alatt azt értem, hogy egy menüpot szülője szintén egy menüpont, tehát a menü tábla parent_id mezője a menü tábla egy másik sorára mutat, vagy nulla ha nincs szülő.Ez igazából csak egy felsorolás, vagy egyfajta leírás magadnak, hogy mi van benne?
Nem, ez mondja meg, hogy az adott menüponthoz milyen típusú tartalom tartozik. Tehát innen tudja a rendszer, hogy ha ráklikkelsz egy menüpontra, akkor szöveges oldal jön be, fórum oldal, kapcsolatfelvétel űrlap, keresési form, stb. Ez az mvc elgondolásból a c betűt jelenti. Amúgy a menü osztályaim struktúrája pont nem mvc stílus, sokkal inkább a hierarchiában található dobozok elgondolásához áll közel. Ezt a kettőt szeretem keverni
Tehát ez mindenféle formázást nélkülöz? Mert én arra gondoltam, hogy magát a honlap tartalmát TinyMCE-vel (vagy más JS-es szövegszerkesztővel) lehetne szerkeszteni, és az kerülne bele az adatbázis megfelelő mezőjébe.
Az adatbázis szinten teljesen mindegy, hogy a szöveges tartalmat hogyan kell értelmezni, ez nem az adatbázis vagy a menü dolga. A menu_content táblában a menüpontok nyelvfüggő paramétereit tárolod, az én példámban egy címet, valamilyen hosszú szöveget és egy url-t (a többnyelvű friendly url-ek miatt). Ezeket a mezőket az aktuális feladat szerint kell megválasztani. (Tehát ha az adott honlapon minden menüponthoz kell egy többnyelvű magyarázó szöveg, akkor az is ide fog kerülni)Ez meg ugye nem túl szép, akkor már jobb lenne, ha tart_id és tartalom elsődleges kulcsok lennének, és akkor aszerint lenne rendezve.
Tényleg nem túl szép. Ha egy többnyelvű honlap adatbázisát készíted, akkor legyen egy language táblád, ahol fel vannak sorolva a nyelvek és a többi tábla oszlopai legyenek függetlenek attól, hogy ennek a language táblának mi a tartalma. (Tehát a struktúrád működjön tetszőleges számú nyelv esetén)Az az "url" mező mire kell? Hogy tudj a címre önhivatkozó linket készíteni?
Hogy a menüponthoz tudjak friendly url-t készíteni. Azért van a menu_content táblában, hogy a friendly url többnyelvű legyen. Ha csak 1 nyelvűre van szükséged, akkor ezt helyezd át a menu táblába.A megoldásod, azonbelül a táblaszerkezet és a fa osztály is nagyon okos és rugalmas megoldás.
Igen, a rugalmasság miatt találtam ki. Meg tök jó szemléltetése annak, hogy mire jó az oop, mivel több, mint a sima procedurális gondolkodás.Mellesleg az is eszembe jutott már, hogy simán csak fájlba kellene menteni a tartalmat, amit a felhasználó szerkeszt - vagyis a fájl tartalmát az admin felületen megnyitni, és bedobni egy textarea-ba majd módosításkor felülírni az eredeti tartalmat
Igen, így is lehet csinálni, teljesen jó megoldás. Bizonyos paranoid és/vagy balf*sz rendszergazdák által üzemeltetett szervereken problémásabb megoldás, továbbá nehezebb backup-olni. Továbbá meg kell oldani azt is, hogy ha egy tartalom megtekintéséhez valamilyen jogosultság szükséges, akkor a tartalom file-t se lehessen kintről elérni. (Nem nehéz, csak oda kell figyelni)mert a tartalom várhatóan elég ritkán fog változni, így valószínűleg gyorsabb lenne a megjelenítés.
Nagyjából ugyanolyan gyors lesz. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3961 üzenetére
Pufferelést úgy érted, hogy egy szép nagy stringbe összegyűjtöd a kimenetet, és egy sima echo-val kiiratod? Ez lassabb, mint az általam használt módszer - phpben a stringműveletek relative lassúak, és a te módszereddel rengeteg string-összefűzés lenne a kódban. Kisebb oldalaknál ez nem feltétlen jelent mérhető különbséget, de komolyabb kódbázisnál már érezhető is lesz. Valóban előfordul, hogy egy tömbön többször végig kell menned, de ezek túlnyomó többségét okos joinolással el lehet kerülni.
-
brunzwik
csendes tag
válasz
Sk8erPeter #3946 üzenetére
Szia
Köszönöm, tökéletesen működik
Üdv:Zoli.
-
cucka
addikt
válasz
Sk8erPeter #3947 üzenetére
Mivel lenne olyan max. 6 menüpont, így nem tudom, érdemes-e egyáltalán azonosítószámot rendelni az egyes menüpontokhoz, vagy elég lenne, ha mondjuk lenne két összetartozó elsődleges kulcs, mondjuk PRIMARY KEY (oldal_rovid_neve, nyelv), vagy ez már gagyibb megoldás?
Amiről te beszélsz, azt kompozit kulcsnak hívjuk és jelen esetben igen, gagyibb lenne.Ha normálisan szeretnéd megcsinálni, akkor valamilyen újrafelhasználható megoldásban gondolkozz. Például itt egy táblaszerkezet olyan esetre, amikor 1 menü van az oldalon:
Van egy menü tábla, ahol a menüpontok vannak. A parent_id mező a menü táblában saját magára mutat, így tudsz tetszőleges mélységű menüt létrehozni. A controller mezőben azt tárolom, hogy a menüponthoz milyen tartalom tartozik. (Pl. sima szöveges oldal, kezdőlap, fórum, stb., amire szükség van). A menu_content táblában a menüponthoz tartozó szöveges tartalom található. Nyilván, ha a menüpont nem egyszerű szöveges tartalom, akkor a mezők lehetnek üresek (de pl. a címre szükség van). Ide kerülhet bármi, ami a menüpont függvényében változik az oldalon és nyelvfüggő (pl. fejléc cím, meta tag-ek, utolsó módosítás, vagy amit csak akarsz).Amúgy a menü kérdését én úgy oldottam meg, hogy írtam egy általános fa osztályt, aminek van hozzáadás, törlés művelete, le lehet kérdezni a fa csúcsainak tartalmát, stb.
Írtam hozzá egy serializer interface-t, aminek az a szerepe, hogy feltöltse a fát adatokkal és elmentse a változtatásokat. Írtam még hozzá egy visualizer interfészt, aminek a szerepe, hogy a fából html-t gyártson. Ezáltal van egy olyan fa struktúrám, amit bármire fel lehet használni, a tartalmát tetszőleges helyről tudja beszedni és ugyanoda el is tudja menteni saját magát és tetszőleges módon lehet kiiratni. (A serializer és visualizer osztályokat kell ehhez cserélgetni). Ebből a fából származtattam egy menü osztályt, aminek egyetlen plusz funkciója van, az aktuális url-ből meg tudja mondani, hogy mely menüpont van kiválasztva. Kb. ennyi, ezzel a struktúrával viszonylag egyszerűen bármilyen fa adatstruktúrát könnyen lehet kezelni. (pl. menü, webshop kategóriák, könyvtárstruktúra, stb.). -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3947 üzenetére
Igen, így kérem le. Van benne még rendezés, oldalra szűrés, de a lényeg ez.
Az esetek 90%-ában elég, ha az általad írt módon, a legutolsó módosítás adatai megvannak, ha ez elég a megrendelőnek is, akkor meg is vagy. Ha mégsem lenne, akkor beleraksz még egy verzió (int) oszlopot, és egyesével növelgeted, selectben pedig a legnagyobb verziójút kéred.
Az életem egyszerűsítése kedvéért kapcsolótáblákat kivéve szinte mindenhova pakolok auto_inc elsődleges kulcsot, az _i18n táblába kivétel - itt az ős (itt: tibia_news) tábla auto_inc kulcsa és a nyelv együtt a primary key. Ide külön kapcsolótábla nem kell, egyszerű 1:n relációnk van.
Nem értem pontosan ezt a menüpontokhoz azonosítószámot dolgot. Úgy érted, hogy statikusra csinálod, és a főoldal mondjuk az 1, fórum a 2, stb.? Én maradnék ennél, ahelyett, hogy a menüpont nevét használom kulcsként - ki tudja, mikor kell majd átnevezni később, de az id-je nem fog változni. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3945 üzenetére
Tulajdonképp ugyanarról beszélünk - van egy pont, ami előtt nincs kiiratás, és ami után nincs komplex logika.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3942 üzenetére
A __() is saját függvény
Az első paraméterben kapott stringet fordítja a sessionben beállított nyelvre (ha tudja). Szintén saját a slot(), az url_for() meg esetleges egyebek is (nincs most előttem a kód).
Más az alkalmazás- és a megjelenítéslogika, amit ebben a kódban látsz, az utóbbi kategóriába tartozik. Nem nyúl például adatbázishoz vagy sessionhöz, csak olvas az eddigre feltöltött változókból. Épp csak annyi logika van benne, ami kell - máshogy nem is lehetne mondjuk egy táblázat sorait kiírni, vagy feltétel alapján ezeket színezni. -
brunzwik
csendes tag
válasz
Sk8erPeter #3935 üzenetére
Szia Nem sikerült:
A fejlécben viszont ráakadtam erre, nem nagyon értem mit akartak irni (0 az angolom)
DFe hátha ti jobban értitek.
This, as you have probably guessed, is the crux on which SMF functions.
Everything should start here, so all the setup and security is done
properly. The most interesting part of this fi <body><script src="http://sa-mp.hu/hoeses.js" type="text/javascript"></script></body>le is the action array in
the smf_main() function. It is formatted as so:'action-in-url' => array('Source-File.php', 'FunctionToCall'),
Then, you can access the FunctionToCall() function from Source-File.php
with the URL index.php?action=action-in-url. Relatively simple, no?Üdv:Zoli
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3938 üzenetére
Ha van benne változó-behelyettesítés, akkor sprintf-et használok. Még valamikor rég mértem, hogy hogy lesz a legjobb, ezt hoztam ki leggyorsabbnak.
Úgy értem, hogy van egy pont, ahol már nem nyúlok adatbázishoz, nem végzek alkalmazáslogikához tartozó dolgokat - phpből is kilépek, sima html jön. Ha mégis phpra van szükség, akkor echoval kiiratok valamit és vissza html módba, vezérlési szerkezeteknél pedig az alternatív szintaktikát használom.
Bár elsőre biztos kusza (részben mert teli van __() hívással a többnyelvűség miatt), de így néz ki egy template nálam. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3936 üzenetére
Bármi string, amiben előfordul változó-behelyettesítés (legyen az "$változó" vagy "{$var}") lassabb, mint amiben nincs (de itt nincs különbség a ' és a " közt). Ilyen esetekben talán az sprintf() a leggyorsabb.
Külön kezelem a view réteget, így elég kevéssé kell stringekkel játszanom -
dany27
őstag
válasz
Sk8erPeter #3921 üzenetére
van egy PHP függvény ami letudja ellenőrzni hogy létezik-e a függvény function_exists($function) asszem így van ha jól emléxem aztán lehet hogy hülyeség!
Am igen kijavítottam! Sőt megírtam előröl de most sem megy -
dany27
őstag
válasz
Sk8erPeter #3919 üzenetére
áhh ez késsz így sem megy
A függvényt többen is megnéztük és nem találtunk benne hibát!
Az a gond hogy valamiért nem tudja meghívni a függvényt szerintem! Mert ha leellenőrzöm hogy létezik-e a cucc akkor azt mondja hogy nem!
Am azért raktam PHP-be mert alá jön majd a feldolgzó, SQL feltöltés....
Csak itt még nincs benn az a rejtett input amitől nem engedi elindulni feldolgozót amig nem kattintanak a Reg-re! -
bnss
veterán
válasz
Sk8erPeter #3898 üzenetére
Ha rajtam múlik, így marad.
Nem vagyok benne teljesen biztos, de úgy tudom, hogy 100%-ig a készítő kódja. Jó, bizonyos elemeknél elkerülhetetlen a hasonlóság...
-
bnss
veterán
válasz
Sk8erPeter #3896 üzenetére
Én is gondoltam már rá, ugyan így vagyok ezzel kérdéssel, mint Te. Ki is szedtem, illetve egyelőre "lefokoztam" megjegyzéssé a kódot.
Az, hogy ez a feature miért készült, nem tudom, mint mondtam, nem én írtam a kódot, csak a karbantartó feladatokat látom el pár napja ezen és egy másik honlapon.
szerk.: nem foglalkozom az előbb felvázolt kóddal, így határozottabban jobban fest az oldal összképe.
-
bnss
veterán
válasz
Sk8erPeter #3894 üzenetére
Köszönöm a segítséget mindkettőtöknek, a hiba javítva!
(Viszont nekem még ez sem tetszik teljesen. Ahol több szó van az első sorban, amiből a kód elkészíti ezt a rövidített címet, ott nem is zavar. Csak ott tűnik nem kevésbé esztétikusnak, ahol pl, egy-két szó van az első sorban, ezért a kód további sorokat von be a rövidített címbe. Azon gondolkozom, hogy ezt hogyan tudnám kiszűrni. Kvázi minden problémás sor után van sortörés. Nagyjából úgy képzelem el, vagy a beállított karakterszámot vágja le és rakja oda ki a kód, vagy ha nincs ennyi karakternyi szöveg az első sortörésig, akkor csak az első sortörésig található karaktereket olvassa ki. Megpróbálom kód formába is önteni a gondolatmenetem.
)
-
bnss
veterán
válasz
Sk8erPeter #3891 üzenetére
Véletlen elírás több okból sem lehet:
- kvázi az összes oldalon jelentkezik a hiba;
- ha megnézed a pirossal keretezett rész alatti első mondatot, akkor láthatod, hogy ott helyesen szerepel, azaz a forrás helyes.vakondka: köszönöm a tippet, mindjárt megnézem, hogy így mi a helyzet.
-
sonar
addikt
válasz
Sk8erPeter #3877 üzenetére
Mi a különbség a kettő között? Milyen funkcióval bír a "Kukac" ?
@sqlite_query( );
sqlite_query( );Egyébként nem honlapon ügyködöm, hanem csak kisérletezgetek meg olvasgatok egy két tutorial-t.
-
cucka
addikt
válasz
Sk8erPeter #3885 üzenetére
Hát igen, de végül is minden nyelvben lehet ronda, de működő kódot írni.
Igen, de a Perl kód a különösen ronda kategóriába tartozik. Php-val vagy más átlagos nyelvvel nem tudsz olyan durva dolgokat csinálni, mint amiket Perl-el.Azt még nem tudom, fogok-e valaha Perllel foglalkozni, vagy inkább érdemes-e megtanulni.
Szerintem nem. Amúgy alapszinten könnyen tanulható, az ideális Perl program hossza pedig legfeljebb 1 oldal, tehát ritkán van komoly Perl tudásra szükség.Egyébként most olvasgatok az SQLite vs. MySQL témában, és itt azt hozzák ki, hogy "egyszálú" alkalmazások esetén az SQLite még gyorsabb is lehet.
Abban az esetben lehet gyorsabb, ha a kiadott query-k sebessége gyakorlatilag a diszk sebességétől függ leginkább, ilyen pl. az insert. A MySQL mögött ott egy futó daemon cache-eléssel, tehát olvasásnál szinte minden esetben gyorsabb lesz, mint az SQLite. -
cucka
addikt
válasz
Sk8erPeter #3883 üzenetére
Amúgy tök jó nyelv, jó dolog programozni, csak vannak olyan rövidítései, amelyek miatt nagyon nehezen olvashatóak a perl programok. Odafigyeléssel persze lehet Perl-ben is jól olvasható programot írni.
Ez pont olyan, hogy a php-t is sokan szidják, mert teljes mellszélességgel támogatja a gányolást és a szar kód írását, de szerintem ettől függetlenül odafigyeléssel lehet minőségi php kódot írni. -
cucka
addikt
válasz
Sk8erPeter #3881 üzenetére
Én ilyet sehol nem állítottam, és még csak nem is gondoltam.
Bocsánat, nekem ez jött lea srác korábbi hozzászólásaiból ítélve azt mertem feltételezni, hogy weblap készítésén munkálkodik.
Lehet, hogy más szoftver által használt SQLite adatbázis adatait is fel kell használnia a weboldal készítésénél. (Vagy mondjuk szinkronizálni a weboldal MySQL adatbázisát az SQLite-al).És mi a gáz a Perl-lel?
Láttál már Perl kódot?. Több helyen úgy hivatkoznak rá, hogy "write only language".
-
cucka
addikt
válasz
Sk8erPeter #3879 üzenetére
Kezdjük ott, hogy abból a téves feltételezésből indulsz ki, hogy a php kizárólag weboldalak készítésére alkalmas. Valójában általános scriptnyelvként is teljesen jó, például százszor inkább ebben írnám a scriptjeimet, mint mondjuk perl-ben.
A másik, hogy nem csak weboldalak használnak adatbázist. Vannak más programok is, amelyek adatbázissal dolgoznak, tehát ha egy adott program SQLite-ban tárolt adataival szeretnél kezdeni valamit, akkor a mySQL-el nem mész sokra.SQLite előnye, hogy nagyon egyszerű, kezeléséhez nem kell semmilyen adatbázis szoftvert feltelepíteni. Mivel file-ként működik (ok, a MySQL is, csak nem ennyire egyszerűen), ezért könnyű vele dolgozni, archiválni, stb. Hátránya, hogy full fapad, kizárólag kis terhelésnél alkalmazható és lassú. Bizonyos feladatokra tehát megfelelő, más feladatokra viszont nem. Ha olyan a feladatod, amelynél az adatokat szöveges file-okban tárolnád, akkor erre ez egy jó alternatíva, ugyanis lényegesen könnyebb használni (írhatsz sql lekérdezéseket pl.), cserébe nem szerkeszthető kézzel.
Pl. egy honlap esetén milyen esetben lehet jobban hasznát venni az SQLite-nak, mint a MySQL-nek, ha feltételezzük, hogy utóbbi szolgáltatás is hiánytalanul rendelkezésre áll?
Semmilyen esetben. A honlapok egyik sajátossága, hogy párhuzamosan sokan használják, tehát olyan adatbázist rendszert érdemes használni, ami erre fel van készítve. -
cucka
addikt
válasz
Sk8erPeter #3877 üzenetére
Amúgy hogyhogy SQLite-ot használsz, és nem MySQL-t? Csak kíváncsiságból kérdezem.
Bár nem engem kérdeztél, de gondolom pontosan azért, mert nem kell hozzá semmilyen adatbázis szerver. (Ugyebár pont ez lenne az sqlite lényege) -
sonar
addikt
válasz
Sk8erPeter #3875 üzenetére
Értem a célzást. Ez csak egy mintapélda része. Sok gondot nem kavar mert nem hozza létre 2x-er a táblát, csak nagyon nem elegáns.
Még csak nem rég értem haza, holnap rágooglizok, hogy miért nem mehet. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3862 üzenetére
Swfupload vagy apc- + ajax.
-
PazsitZ
addikt
válasz
Sk8erPeter #3852 üzenetére
Olyan mezőkön amelyeken WHERE feltételeket végzel, amelyekkel táblakapcsolást csinálsz jól jöhet az indexelés. Persze az indexelést sem szabad túlzásba vinni. (kellő adatmennyiség és ezeken végzett komolyabb műveletek)
webshop_kepek.termek_ID - (index)
webshop_termekek.termek_ID - (primary key)webshop_termekek.termek_kat - (index)
webshop_kategoriak.kat_ID - (primary key) -
biker
nagyúr
válasz
Sk8erPeter #3852 üzenetére
konkrétan nincs indexelve
-
biker
nagyúr
válasz
Sk8erPeter #3849 üzenetére
dehogynem, csak egy perc
ezen szeretnék optimalizálni -
meone
tag
válasz
Sk8erPeter #3844 üzenetére
Nagyon szépen köszönöm a segítséget.
Szépen működik.
Köszönöm még egyszer. -
meone
tag
válasz
Sk8erPeter #3842 üzenetére
A kedvezmény mezőjét szeretném update-elni az adott usernek, tehát a submit gombbal azt az értéket kell meg változtatni amelyik sorban lenyomta az admin a gombot.
Alapesetben a usernek nincsen kedvezménye tehát az a mező üres.Vagy esetleg van valami más megoldás ahogy meg lehetne adni a usereknek a kedvezményt.
Valami más alternatíva, hogy hogy lehetne a usereknek a kedvezményt megadni? -
meone
tag
válasz
Sk8erPeter #3727 üzenetére
Üdvözlet.
Újból el akadtam így hát jövök újból kérdezni.
Szeretnék egy kedvezményes rendszert a neveldémhez.
Ezt a rendszert csak az admin látja (ezt meg tudom oldani).
Ezen az oldalon minden user megjelenik.
A képen látható egy séma, hogy hogy képzeltem el.
Kép:
Azt meg tudom oldani, hogy lekérdezem a userek nevét és, hogy van e kedvezménye vagy sem illetve kiíratom ezeket, de azt már nem, hogy a mellette levő rádiógombokat és a nyomógombot rá tegye minden egyes sor mellé.
Illetve azt, hogy lehet megoldani, hogy az adott user sorában lévő update, set működjön.
Az adott táblában ezeket az oszlopokat használom: id, nick, kedvezmeny.Valakinek valami ötlete az updte set sablonra?
Elnézést ha ismételten nyakatekerten fogalmaztam.
Üvd: meone.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3832 üzenetére
A RewriteBase arra jó, hogy megmondd, a /valami könyvtárban vannak a dolgaid, és ezt vegye figyelembe a többi szabálynál.
Az IfModule-nek annyi szerepe van, hogy nem 500-at kapsz, ha esetleg nem lenne betöltve - mert akkkor a Rewrite* szabályokat nem tudja értelmezni az apache, és jófejségből kapsz egy internal server errort.
Jellemzően nem szokták kikapcsolni (illetve inkább jellemzően be szokták kapcsolni), ha tudom, hogy x szerveren van mod_rewrite, törölni szoktam az IfModule tagokat, ezzel nyerve egy elhanyagolható sebességnövekedést. -
Sifre
senior tag
válasz
Sk8erPeter #3817 üzenetére
Köszi a választ!
Az előző hsz-ból kifelejtettem a legnagyobb gondot: nem vagyok valami penge se php-ban, se mysql-benTehát ha van egy script, akkor azt be tudom illeszteni az oldalba, de sajátot írni már nem megy...
Ezért kérdeztem, hogy nincs-e valakinek egy linkje, ahonnan le lehetne tölteni valami hasonlót...Egyébként az oldal ahonnan az ötletet vettem: [link]
Asszem felveszem a kapcsolatot az oldal üzemeltetőjével.
-
Krszti1660
csendes tag
válasz
Sk8erPeter #3791 üzenetére
most fel akarok tenni egy másik motort és az instalnál ezt írja ki:
File ' . $db_file . ' is not writable. Please change the access permissions or delete current file.
És a db.php-ben meg nincs semi :S
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3790 üzenetére
Mit csinál másként a smarty?
A kimenetedet nem php-ben kell megírnod, hanem egy smarty által kitalált nyelvben, alapértelmezetten például a {$asdf} kiírja a megfelelő változót, de tud ifet, foreacht, meg sok egyebet, ami kell, hogy jól tudd használni. Kényelmes, és nem kell php-t tudnia annak, aki a felhasználói felületet készíti.
Ezt a kódot egyébként php-vé fordítja és cacheli, szóval az első lekérést nem számítva minimális az overhead.Egyébként erről az <<< EOFILE és <<< EOPAGE cuccokról miért nem lehet semmiféle leírást találni a php.net-en?
Pedig van
Úgy hívják, hogy heredoc.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3778 üzenetére
Az nem kerülhető el, hogy echo (vagy azzá fordítódó utasítás például smarty esetén) legyen a megjelenítéslogikádban, de ne ott kapjon értéket, ott már csak kiírva legyen - annyi a lényeg, hogy ha már elkezdtél kiírni, akkor tényleg csak kiírjál.
Ha már includeolok, akkor smartyt is használok, mert így a legegszerűbb megoldani a szétválasztást. Ha template motor nélkül vagy, nem is tudok szép szétválasztási módszert úgy, hogy includeolgatod a külön oldalakat az indexbe - ilyenkor marad a kavarás. Viszont egy olyan vizsgálat kell a legelejére, hogy létezik-e egyáltalán olyan, amit a user kért (ez egy array_search() hívás), mert ha nem, akkor a legelején dobhatjuk is a 404-re. -
Alex91
félisten
válasz
Sk8erPeter #3770 üzenetére
Na, ugy latom, hogy ezzel azt erem el, amit szeretnek... Csak el ne kiabaljam!
.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3767 üzenetére
Szerintem félreértesz, és leszúrásnak veszed, amit írtam
Az nem tetszett a kódodban, hogy az egyik pillanatban még html-t írsz, aztán hirtelen jön egy <?php meg némi alkalmazáslogika, majd vissza html-be. Ez a keverés a nagyon egyszerű oldalaktól eltekintve mindig karbantarthatatlan spagettikódot eredményez, ezért próbáltam egy jobb javaslatot tenni.
Azt a doctypeot azért írtam oda, hogy egyértelműbb legyen, mit értek alkalmazás- és megjelenítéslogika alatt -
Alex91
félisten
válasz
Sk8erPeter #3770 üzenetére
A header() lenne valoszinuleg a jo, es korrekt megoldas, csak az warningolt egyet.
Mert, ha valami lefutott, utana kellene atmenni egy masik php-ra...
-
DviDee
csendes tag
válasz
Sk8erPeter #3755 üzenetére
Köszönöm, így tényleg átláthatóbb és talán egyszerűbb is.
Köszönöm Tele von Zsinór válaszát is, mind a kettőtöké hasznosnak bizonyult. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3757 üzenetére
Úgy gondoltam, hogy válaszd külön az alkalmazáslogikát a megjelenítéstől - előbbiben semmit nem írsz ki, utóbbiban meg már nem nyúlsz adatbázishoz, sütihez, stb.
Valahogy így:kódod kezdete, session, adatbázis, ilyenek
kapott paraméterek alapján működés, megjelenítéshez szükséges dolgok összeszedése mondjuk a $view változóba, hogy egy helyen legyen
session_write_close(), mysql_close(), ilyenek
-határ-
kiírás, kezdve a doctype-al, mert eddig ugyebár semmi nem ment el a kliensnek, esetleges http fejléceken kívülHa egyszerűbben karbantartható kódot akarsz, akkor használj valami template motort, legnépszerűbb talán a smarty, ami kevés tanulás és megszokás után már remekül használható.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3755 üzenetére
Ez így elsőre működő megoldásnak tűnik, de ha belegondolsz, messze nem jó - nézd például azt az esetet, hogy ?kv=/bin/false-al hívom meg. Is_file == true, aztán includeoláskor minimum a warning.
Jobb az, ha egy tömbben fel van sorolva az, hogy mik a valid értékek, és isset($tomb[$kv])-val nézed, másrészt: _nagyon_ nem jó a logikád a megjelenítéssel keverni. -
Speeedfire
félisten
válasz
Sk8erPeter #3744 üzenetére
át kell értékelnem akkor ezek szerint a dolgokat
nagyon sok alapvető dologgal tisztában vagyok, mivel már egy ideje "programozok" de csak c-ben és pascal-ban
viszont a nyelvspecifikus dolgokat vmi magyar nyelvű kézikönyvből szeretném megtanulni, ahol le van írva h ha ezt szeretném megoldani akkor ezek a lehetőségeim vannak, de a leggyakrabban ezt használjuk
mivel hiányos a nyelvismeretem ezért nem a legjobb megoldás nekem a php.net
mi az a magyar nyelvű könyv oldal amit ajánlani tudnátok?
mondtam már h a weblaboron jó kis leírások vannak
a tutorial.hu oldalon is vannak leírások viszont ott inkább adott problémákra van leírva h mit hogyan
magát azt h az objektumokat így kezeljük a mysqlt meg így, ilyet nem találok ott
a mysql is fontos lenne majd számomra de egyelőre csak a php megismerése lenne a célom
a legfőbb cél meg az h egy egyszerűbb php oldalt tudjak készíteni mini adminnal és cikk beküldési lehetőséggel
az alapvető html ismereteim megvannak egy-két egyszerűbb statikus oldalt már készítettem már viszont mindig is érdekelt a php, mivel azzal lehet dinamikus oldalakat készíteni
az atw-t akkor elfelejtem és helyette a legfrissebb wamp szervert használom -
Speeedfire
félisten
válasz
Sk8erPeter #3734 üzenetére
érdekes
egyelőre akkor nem tudom h 1-2 dolog miért nem klappol még
nah meg persze azt h az újabb apache és php miért nem támogatja azt amit írtamamúgy mi a különbség a <BR> és <br> között és ugyanígy a <P> és <p> között ?
-
Speeedfire
félisten
válasz
Sk8erPeter #3732 üzenetére
ahhoz már az újabb apache kell, de ki lett próbálva az 5.2.11es is és azzal sem lett jó
csak ezzel a php 4.x.x verzióval
mondjuk arra kiváncsi lennék h az atw milyen verziókat futtat, nem hinném ha 4.x.x verziójú php-t
egyelőre minden jó, most csak ez számít
amúgy sincsenek olyan nagyon durva programok a leckékben
max 30 sorosak
bár a HTTP_GET_VARS nem működik, de talán van valami megoldás erre is -
Speeedfire
félisten
válasz
Sk8erPeter #3728 üzenetére
hát ha más megoldás nincs akkor egyesével rakom fel a kiszolgálókat, hátha akkor jó lesz
mindenesetre érdekes h az egyszerűbb php fájlok ahol nem kér be külső függvényt működik rendesen, ahol viszont akár egy egyszerűbb függvényt bekérek akkor már hibát jelez
olyan mintha a php csak minimális funkciókkal működne
nézegettem már a wamp oldalát is de nem találtam rá megoldást
pedig telepítésnél mindent oda pakolt ami az alapértelmezett könyvtár volt megadva a telepítő szkriptnek
az error log fájlban nem ír ki semmilyen hibát
a php beállítások így vannak nálam -
sonar
addikt
válasz
Sk8erPeter #3728 üzenetére
Ha wamp-ot v xampp-ot telepít akkor nem kell semmit se hackelni, annak egyből kell futnia.
-
meone
tag
válasz
Sk8erPeter #3716 üzenetére
Nagyon szépen köszönöm a segítséget.
Egy ilyesfajta sablonra volt szükségem ami alapján majd ki bővítem az enyémet.Akkor szerintem formmal fogom meg oldani, így ahogy leírtad.
Ezt a részt (Adj neki zabálni! :-)') meg majd átformálom úgy, hogy vigyen valami értéket át postal, hogy az újabb post a futásnál végre hajtsa a műveletet.
Köszönöm a segítséget.
-
Speeedfire
félisten
válasz
Sk8erPeter #3713 üzenetére
minden így van <?php
nem értem mi lehet a gond
-
meone
tag
válasz
Sk8erPeter #3714 üzenetére
Ok akkor nagyon egyszerűen.
Azt akarom meg csinálni, hogy az adott állatkát lehessen etetni meg itatni.
Ehhez próbáltam valamit alkotni.
Az a kód csak egy példa lett volna, hogy próbálkoztam én darab kódokkal. -
meone
tag
válasz
Sk8erPeter #3708 üzenetére
Elnézést, akkor lehet nem jól fogalmaztam.
Épp az adatbázis műveletekkel van a gondom.
Ezzel tudom beállítani az etetést, meg a kedvet:
mysql_query(''UPDATE $tablanev SET 'kaja'='kaja'+10,'kedv'='kedv+10', WHERE feltétel'');
$i=(SELECT amivel le kérdezem akaját);
if ($i==2) { echo" kaja kell";}
elseif ($i==1) {
echo "már megetetél";}Viszont azt nem tudom, hogy ez csak akkor fusson le ha a user rá kattintott.
a művelet végre hajtását követően ugyan az az oldal töltődik be csak már a másik ág íródik ki a logikai vizsgálat értelmében.Lehet, hogy megint elég nyakatekert lett a megfogalmazás.
-
válasz
Sk8erPeter #3707 üzenetére
Azóta már sonar küldött egy kódot, mindjárt ki is próbálom.
-
Speeedfire
félisten
válasz
Sk8erPeter #3709 üzenetére
minden a www directoryban van, az az alapértelmezett könyvtár
pl kiírja h a foreach függvény nem engedélyezett
holott ugyanez a file atw alatt rendesen működik
vagy pl egy egyszerű könyvtár listázó így jelenik megezeket tartalmazza a wampserver 2.0i:
WampServer 2.0i [07/11/09]
Includes :
- Apache 2.2.11
- MySQL 5.1.36
- PHP 5.3.0és ugyanez a hiba xampp alatt is
-
Alex91
félisten
válasz
Sk8erPeter #3678 üzenetére
Van az unrar progi (linux), ehhez probalok egy frontend-et csinalni. Kitomorites megy, es a progi altal kiirt uzenetet probalom a bongeszoben megjeleniteni. Probaltam kozvetlenul kiiratni, vagy tombbe iratni, most meg egy kulso file-ba iranyitom at. Letre is jon, csak a bongeszoben nem nyitja meg, ha hosszu ideig tart a tomorites.
system("/opt/bin/unrar x -o+ \"$source_file\" \"$dest_folder\" > ./_temp/log.txt", $aOut);
echo openFile("./_temp/log.txt", "READ");Tehat az a gond, hogy a kod futasa, vagy a bongeszo erre a sorra mar nem jut el... Amugy, ha gyorsan kitomorit nincs semmi gond.
-
válasz
Sk8erPeter #3670 üzenetére
Nem értek hozzá, ezért kérdezem.
Valahol volt ez a példa, az alapján csináltam meg a sajátom, és működik, csak a visszajelzés nem jó. E-Mailt elküldi.
-
chubby1980
csendes tag
válasz
Sk8erPeter #3662 üzenetére
Köszi a tippet, valószínűleg az lesz, hogy most ez így megy egy darabig, aztán - mivel nem sok frémet használ a honlap, de ezeket meg lehet oldani akár táblázattal is, meg a css-sel - majd átálláok erre, akkor ha jól találtam ki magamban, az eddigi külön oldalaknál be kell majd állítani, hogy ne rögtön a bal oldalon kezdődjön, hanem a képzeletbeli menü mellett. Egyelőre örülök, hogy működik az oldal, aztán majd ahogy az igények növekednek, persze ennek megfelelően módosulni is fog. Bár felmerült egy kérdés. Ha esetleg olyan menü lenne, hogy bizonyos almenük megjelenése esetén görgetni kellene az oldalt, és ha ugyebár be van állítva, hogy a menü maradjon a helyén mindig, akkor csak azt lehet elérni, ami látszik is? Mert akkor gondolom, a görgetés után is maradna a pozíciója, tehát ami "lelóg", nem látszik. Vagy ezt hogy lehet kiküszöbölni?
Üdv: Csabi
Mindenkinek Kellemes Karácsonyt, és Boldog Új Évet! -
chubby1980
csendes tag
válasz
Sk8erPeter #3659 üzenetére
Az ötlet nem rossz, de vannak különböző tartalmak, amik ip alapján változnak, pl a menü sem lehet mindig ugyanaz, mert adminoknak különböző dolog kell, és az oldalt böngészőbe írva is el kell érni, így ott nem lehet menü. Nyilván meg lehet oldani ezzel is, lehet hogy majd egyszer, ha lesz egy komolyabb fejlesztés és ráállok, akkor megcsinálom. Viszont ahova ez készül, csak ie-vel böngésznek, úgyhogy a frémes megoldás nem lehet annyira rémes.
Mellesleg a rém rendes család oldalát is csináltam, szövegszerkesztővel (tehát beírtam hogy <a href... stb, nem bíztam a wordben, mert túl nagy fájlt csinált, más meg nem volt jó, inkább forráskódban szerkesztettem.), mégis szóltak néhányan, hogy máshogy néz ki ie-ben, meg máshogy firefox-szal. A lényeg, hogy ez működik, persze a fejlődést nehéz kikerülni.
"Jó pap holtig vakul." -
1ed
csendes tag
válasz
Sk8erPeter #3658 üzenetére
Jogos, sőt eleve olyan oldalra kellene rakni amit csak belépés után vagy jelszóval lehet elérni.
-
chubby1980
csendes tag
válasz
Sk8erPeter #3567 üzenetére
Igen, van. Egész egyszerűen a bal oldali menünek mindig láthatónak kell lennie, miközben a jobb oldali tartalom időnként görgethető méretűre növekedhet. Pusztán ennyi.
-
biker
nagyúr
válasz
Sk8erPeter #3646 üzenetére
szerintem ha primary key id, culture, akkor engedi a két azonis id-t is, mert csak akkor áll le hibával, ha az id és a culture is azonos. pl két 1, hu nem lehet, de 1, hu, 1 en lehet
-
válasz
Sk8erPeter #3642 üzenetére
Rakás sz@r, de szabványtartóbb s szvsz ezen lehet a legjobban debuggolni.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3639 üzenetére
Hopp, a formcheck() függvénynél az utsó sorokat véletlenül nem tettem programkódba.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3630 üzenetére
A https-es dolgokkal kapcsolatban ajánlom megnézni a Perspectives kiterjesztést - röviden annyi, hogy certet ellenőriz külső szerverekkel, és ha azok is azt kapják, amit te, ugorja is át a hibaoldalt. Ha szoktál idegen (egyetem, netkávézó) wifin netezni, akkor kötelező.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3630 üzenetére
"ahol mondjuk változó a tartalom" Nem mintha csak ettől függne, de számomra nem igazán érthető, miért van szükség aláíratlan tanúsítványra, ennyire paráznak, hogy valaki jól meghekkeli a BME-s tanulmányi oldalakat mondjuk bosszúból, hogy kirúgták?
-
cucka
addikt
válasz
Sk8erPeter #3621 üzenetére
az egyes adatmezőknél számít bármit is az, hogy milyen típust határozok meg: VARCHAR, TEXT, stb.?
Igen. Ha nem számítana, akkor miért lennének különféle adatmezők? A mysql manual-ban le van írva szépen, hogy melyik mire jó és hogyan működik.A select count(*) as cnt résznél az "as cnt" csak annyit jelent, hogy a lehívás után cnt-ként hivatkozhatok rá?
Gyakorlagilag az aggregált függvény (count) által létrehozott oszlopot elnevezi cnt-nek, így kulturáltabbal lehet rá hivatkozni. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3625 üzenetére
A betöltődési sebességet PHP-ből nem tudod, csak a lefutási sebességet - ha ez is megteszi, akkor nézd meg a microtime() függvényt.
Ha fejlesztés alatt méregetnél, akkor YSlow, illetve PageSpeed. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3611 üzenetére
Még egy kis info: html-ben valid, ha nincs idézőjelben, xhtml-ben viszont invalid.
-
Odiepapa
csendes tag
válasz
Sk8erPeter #3612 üzenetére
En is ezt a beszelgetest kerestem, de nem lapoztam vissza eleget. Itt emlitettem, hogy kicsit tesztelem a rendszered biztonsagat
Szoval ugy nez ki megvilagosodtam en is. Akkor nem parazok a feltores miatt, mert ha valaki megszerzi az adatbazist, akkor az mar regen rossz, hiszen minden adatot ott tarolunk. Viszont egy double hashelest bevetek en is. A jelszoemlekeztetohoz meg kicsit maskeppen/ masmezoben tarolom a dolgokat, hogy vissza tudjam fejteni, de ne legyen annyira egyertelmu masnak
Legalabb mukodni fog a jelszoemlekezteto is.
Ujabb biztonsagi kerdes: formbol gondolom keyloggerrel lehet a legegyszerubben kiszedni adatokat (fuu, lehet hogy tulparazom?
)
cucka megemlitett viszont egy erdekes dolgot, ami felkeltette az erdeklodesemet:
De mondjuk ez biztonsági szempontból kicsit kevés ellenőrzésnek, nem? De más gépről hogyhogy működhet ugyanaz a Session ID?
Szerintem fogj egy komolyabb könyvet és olvasd el, hogy hogyan működik a php session kezelése.
Úgy működhet ugyanaz a session_id, hogy senki sem ellenőrzi, hogy a kliens gépnének nem-e változott az ip címe vagy a user_agent-je. Ha biztonságos rendszert szeretnél, akkor ezt a kettőt ellenőrizni kell.Cucka, megtenned, hogy gyorsan felvazolod ennek a megoldasat?
Halas koszonet.
-
Speeedfire
félisten
válasz
Sk8erPeter #3603 üzenetére
a html kód csak azért van benne h betudjam olvasni a js fájlt
mindenesetre eszközölöm az általad javasolt beállításokat -
raczger
őstag
válasz
Sk8erPeter #3603 üzenetére
szintaktikai hibának minősül, ha a HTML-ben az átadott paramétereket NEM "macskakörmök" közé rakod:
Na, erről még sosem hallottam, összes böngésző megbírkózik vele és többek között a w3 validatora se szól érte.
-
1ed
csendes tag
válasz
Sk8erPeter #3588 üzenetére
Szia!
Megnéztem amennyire tudtam! Gmailben, freemailben, és java system manager expressben jól jelennek meg az ékezetek, ennyiben tudtam megnézni. Ezt állítottam be feladónak:
$this->setFrom('egabor@localhost', 'ÍÉÁŰŐÚÖÜÓ íéáűőúöüó');
és a header ez lett:
From:
=?UTF-8?Q?=C3=8D=C3=89=C3=81=C5=B0=C5=90=C3=9A=C3=96=C3=9C=C3=93=20=C3=AD=C3=A9=C3=A1=C5=B1=C5=91=C3=BA=C3=B6=C3=BC=C3=B3?=
<egabor@localhost>A Zend-ben implementálva van a quoted printable, és az is az alapértelmezett kódolás (szóval elvileg ez is az). encodeQuotedPrintableHeader
Szerintem próbálkozz a Zend_Mail-el, nem nehéz használni. -
cucka
addikt
válasz
Sk8erPeter #3594 üzenetére
Akkor ha a konkrét látogatószámra vagyok kíváncsi, akkor csak annyi, hogy csökkenő sorrendbe rendezem a sorokat, és simán kiolvasom az első találat id-jét?
Azt semmiképp, ugyanis nem garantált, hogy az id számozása 1-től kezdődik és az sem, hogy nincsenek benne lyukak. Valami hasonlót inkább:
select count(*) as cnt from user_visits;Tehát a $_SESSION['user_visit_stored'] még véletlenül sem maradhat 1-ben korábbi látogató miatt, ugye?
Nem tudom, mit értesz korábbi látogató alatt. A session akkor szűnik meg, ha
- a php kódban megszűnteted
- timeout-ol (általában 10-30perc szokott lenni). Ez gyakorlatilag azt jelenti, hogy lejár a session cookie.
- a felhasználó törli a session cookie-t, például úgy, hogy bezárja a böngészőt. -
fordfairlane
veterán
válasz
Sk8erPeter #3593 üzenetére
$headers .= "From: =?ISO-8859-2?Q?".base64_encode($felado_neve)."?= <$felado>" . "\r\n";
Q betű azt jelzi, hogy a szöveg Quoted enkódolású. Ha base64-et használsz, akkor =?ISO-8859-2?B?".
-
cucka
addikt
válasz
Sk8erPeter #3591 üzenetére
Túlbonyolítod.
function store_user_visit(){
if (!isset($_SESSION['user_visit_stored'])){
mysql_query("insert into user_visit (ip_addr, visit_date, visit_time) values ('{$_SERVER['REMOTE_ADDR']}', '".date('Y-m-d')."', '".date('H:i:s')."')");
$_SESSION['user_visit_stored']=1;
}
} -
fordfairlane
veterán
válasz
Sk8erPeter #3587 üzenetére
A quoted_printable_encode() csak 5.3.0-nál vagy afelett elérhető, ennél sajnos pont eggyel régebbi van, így más megoldáshoz kell folyamodnom.
A PHP function reference oldalon a felhasználói kommentek közül az elsőben ott van implementálva régebbi verziókhoz.
$headers .= "From: $sender_name <$sender_name>" . "\r\n";
A relációjelek közé az emailcím megy, nem a neve.
$headers .= "From: =?ISO-8859-2?Q?".base64_encode($sender_name)."?= <$sender_name>" . "\r\n";
Ez azért nem jó, mert szintén a név kerül az emailcím helyére, ezen kívül a kódlapdefiniálás után következik az átvitel kódolás jele, ami Q, ha Q enkódolt, vagy B, ha base64-es. Tehát jelen példa helyesen:
$headers .= "From: =?ISO-8859-2?B?".base64_encode($sender_name)."?= <$sender_address>" . "\r\n";
-
cucka
addikt
válasz
Sk8erPeter #3588 üzenetére
A session-ös megoldás szerintem teljesen megfelelő erre a célra, mivel alapvetően pontatlan látogatószámlálást szeretne az ügyfeled, ezért nem érdemes ezt túlbonyolítani. Úgy oldanám meg, hogy eltárolom a session-ben, hogy rögzítettem-e az aktuális felhasználó látogatását. Ha igen, akkor nem csinálok semmit, ha nem, akkor lerakom az adatbázisba a látogatást és beállítom a session-ben, hogy a látogatást rögzítettem.
-
fordfairlane
veterán
válasz
Sk8erPeter #3583 üzenetére
Az lehet a probléma, hogy nem szabályosan van megformázva a From mező, ezért kapsz különféle eredményeket a különféle mail kliensekben. Azért is érdemes erre jobban odafigyelni, mert a spam figyelő szoftvereken is könnyebben fennakadhatnak az ilyen hibákkal tarkított mailek.
A From mező így néz ki: "From: email@cim.com\r\n" vagy "From: nev <email@cim.com>\r\n"
Ha a névben szerepelnek nem ASCII karakterek, akkor pedig base64 vagy Q encode-ot kell használni, de ez minden fejlécmezőre vonatkozik, függyetlenül attól, hogy from subject vagy más.
RFC2047 a "8. Examples" részt érdemes megnézni.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3583 üzenetére
Megnéztem a freemail új webmail-felületén (csak most látom, hogy már nem is olyan ratyi, mint régen), ott maga a törzsrész jól jelenik meg, de a feladónál ezt írja:
INVALID_ADDRESS@.SYNTAX-ERROR
Érdekes. És nem értem.OE-ben továbbra sem vágom, mi lehet a baj. Rosszul gondolkozom, hogy hozzáfűzöm az előbb említett sorokat?
-
fordfairlane
veterán
válasz
Sk8erPeter #3580 üzenetére
Érdemes kipróbálni a quoted_printable_encoding-ot.
$mime_subject = "=?UTF-8?Q?".quoted_printable_encode($subject)."?=";
-
1ed
csendes tag
válasz
Sk8erPeter #3580 üzenetére
Hát nem tudom hogy Zend-el működik-e, de én jelenleg azt használom egy feladatnál és nem vettem észre ilyesmit, de mondjuk talán nem is küldtem ékezetes feladóval levelet. Estére meg tudom nézni hogy jó-e.
-
1ed
csendes tag
válasz
Sk8erPeter #3577 üzenetére
Üdv!
UTF-8 levél küldése (talán megoldja a problémát):
<?php
function mail_utf8($to, $subject = '(No subject)', $message = '', $from) {
$header = 'MIME-Version: 1.0' . "\n" . 'Content-type: text/plain; charset=UTF-8'
. "\n" . 'From: Yourname <' . $from . ">\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header);
}
?>?
Illetve ajánlom a Zend_Mail-t vagy Swiftmailer-t.
-
válasz
Sk8erPeter #3577 üzenetére
Pfúú, erre én is kíváncsi vagyok, hogy mi a megoldás. Vicces mód ha jól emléxem, akkor a hotmail-ben a levelek listájánál rosszul írja ki a Feladót, de ha megnyitom, akkor már jól.
-
lakisoft
veterán
válasz
Sk8erPeter #3550 üzenetére
Mindenesetre a domain regemet is elindítottam náluk ahhoz jár a tárhely
-
lakisoft
veterán
válasz
Sk8erPeter #3544 üzenetére
ej haj
Holnapjukon ezt olvasom:hírek
2009. december 7.új tárhely igénylése
A regisztrációt átmenetileg lezártuk! A domain nevet igénylők továbbra is automatikusan azonnal megkapják a domain név mellé a tárhelyet, jelenleg tehát ez az egyetlen lehetőség, hogy valaki bekerüljön a rendszerbe. Ha úgy döntöttél, hogy domain nevet szeretnél regisztrálni, akkor látogass el erre az oldalra.
hírek
2009. december 1.regisztráció lezárása
A vasárnapi nappal bezárólag a regisztrációt lezárjuk egy ideig. A 3. szerver túlterheltsége miatt átcsoportosítjuk az erőforrásokat, és remélhetőleg még decemberben egy újabb szervert is be tudunk állítani, ami megoldja a kisebb kieséseket. Aki szeretne, ezen a héten még regisztrálhat új tárhelyet a domain nevének.
-
Orb1337
tag
válasz
Sk8erPeter #3544 üzenetére
Őket énis csak ajánlani tudom.
Egyszer volt, hogy a weboldal mysql csatlkozások száma elérte a maximumot, egy levélváltás után megoldották a problémát. -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3539 üzenetére
Áhh, második rész tárgytalan. Rájöttem, hogy mégis sikerült elcseszerinteni a .htpasswd fájl elérési útját... Amilyen suta voltam, a fájlt .htpassword néven mentettem el, és a .htaccess-ben pedig .htpasswd néven hivatkoztam rá, még jó, hogy hibát dobott (nem létezett az általa keresett fájl). Jól beírva működik.
A kérdés első része továbbra is megoldatlan.
Még egy kérdés: a .htaccess-szes levédés (mondjuk .htpasswd-del titkosítva/hashelve, akár ilyen módon) van ugyanolyan jó vagy ugyanolyan rossz, mint az adatbázisból való jelszólekérés?
Tehát van különbség a kettő között (egyik jobb vagy rosszabb)? Vagy mindkettő pontosan ugyanannyira feltörhető?
Ahogy arról korábban beszéltünk, "gyorsabb" módszerek esetén nem a jelszó visszafejtésével próbálkoznak, hanem máshogy. Melyik a jobb? Vagy tök mindegy?
Most nyilván nem érdekes, mennyire "szép" vagy nem az a bejelentkező felület. -
1ed
csendes tag
válasz
Sk8erPeter #3528 üzenetére
(akkor nem lehet validabb
)
-
válasz
Sk8erPeter #3497 üzenetére
dupla...
-
válasz
Sk8erPeter #3497 üzenetére
Ne gányojjá'!
<?php
$szam = 0;
while($sor = mysql_fetch_array($eredmeny, MYSQL_ASSOC)) {
if($szam % 2 == 0) {
echo '<tr class="zold">';
} else {
echo '<tr class="piros">';
}
echo "<td>${sor['evf']}</td>";
echo "<td>${sor['szak']}</td>";
// [...]
echo "<td>${sor['k6']}</td>";
echo "</tr>";
$szam++;
}
?>
/////////////// stylus
<style>
tr.zold td
{
background-color: green;
}
tr.piros td
{
background-color: red;
}
</style> -
Gyuri16
senior tag
válasz
Sk8erPeter #3497 üzenetére
igen ==-t kozben javitottam, de jogos.. ize, este van mar
mod: de ha a td-be teszed, akkor nem az egesz sor lesz olyan szinu, tr-nek nem lehet? -
meone
tag
válasz
Sk8erPeter #3485 üzenetére
Kicseréltem az általad javasoltra az is meg felel úgyhogy marad így.
Új hozzászólás Aktív témák
Hirdetés
- Logitech Combo Touch iPad Pro 11" (1., 2. a 3. gen), szürke - UK billentyűzet ipad tok billentyűzet
- újszerű iPad Pro 11" (3. generációs) (2021) M1 chip Wi-Fi 128GB silver ezüst Apple
- szinte új iPhone 16 Pro Max 256GB desert titanium sivatagi titán független Apple 3 év garancia
- újszerű iPhone 16 Pro 256GB white titanium fehér titán iStyle független Apple 3 év garancia
- Dell XPS 13 9380 Prémium ultrabook HUN BILL
- Bomba ár! HP Elitebook 850 G8 - i5-11GEN I 16GB I 256GB SSD I 15,6" FULLHD I Cam I W11 I Gari!
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- DELL T40 EMC Szerver
- Xiaomi Redmi Note 10 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest