- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bitpork: Augusztus 2- szombat jelen állás szerint.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- Fogkefe: elektromos vagy manuális?
- Magga: PLEX: multimédia az egész lakásban
- Parci: Milyen mosógépet vegyek?
- sziku69: Szólánc.
- Aggregátor gondjai, örömei, és elmélkedései
Új hozzászólás Aktív témák
-
mnorbi89
csendes tag
válasz
trisztan94 #15098 üzenetére
Az a gáz hogy kezdő vagyok és még annyira nem tudom.de köszi a tippet.
-
mnorbi89
csendes tag
válasz
trisztan94 #15096 üzenetére
nem.miért?
-
mnorbi89
csendes tag
válasz
PumpkinSeed #15093 üzenetére
idáig jutottam:
<?php
$_datum = getdate();
$_honap = array
("","január","február","március","április",
"május","június","július","augusztus",
"szeptember","október","november","december");$_hetnapja = array
("vasárnap","hétfő","kedd","szerda","csütörtök",
"péntek","szombat");$_januar = array
("","ÚJÉV","Ábel","Genovéva","Titusz","Simon",
"Boldizsár","Attila","Gyöngyvér","Marcell",
"Melánia","Ágota","Ernő","Veronika",
"Bódog","Lóránt","Gusztáv","Antal","Piroska",
"Sára","Sebestyén","Ágnes","Vince","Zelma",
"Timót","Pál","Vanda","Angelika","Károly,",
"Adél","Martina","Marcella");$_februar = array
("","Ignác","Karolina","Balázs","Ráhel","Ágota",
"Dóra","Tódor","Aranka","Abigél","Elvira",
"Bertold","Lívia","Ella, Linda","Bálint","Kolos",
"Julianna","Donát","Bernadett","Zsuzsanna","Álmos",
"Eleonóra","Gerzson","Alfréd","Mátyás","Géza",
"Edina","Ákos, Bátor","Elemér");$_marcius = array
("","Albin","Lujza","Kornélia","Kázmér","Adorján",
"Leonóra","Tamás","Zoltán","Franciska","Ildikó",
"Szilárd","Gergely","Krisztián, Ajtony","Matild",
"Kristóf","Henrietta","Gertrúd","Sándor","József",
"Klaudia","Klaudia","Benedek","Beáta","Emőke","Gábor",
"Irén","Emánuel","Hajnalka","Gedeon","Auguszta",
"Zalán","Árpád");$_aprilis = array
("","Hugó","Áron","Buda, Richárd","Izidor","Vince",
"Vilmos, Bíborka","Herman","Dénes","Erhard","Zsolt",
"Zsolt, Leó","Gyula","Ida","Tibor","Tas, Anasztázia",
"Csongor","Rudolf","Andrea","Emma","Konrád, Tivadar",
"Konrád","Csilla","Béla","György","Márk",
"Ervin","Zita","Valéria","Péter","Katalin, Kitti");$_majus = array
("","Fülöp","Zsigmond","Tímea","Mónika","Györgyi",
"Ivett","Gizella","Mihály","Gergely","Ármin",
"Ferenc","Pongrác","Szervác","Bonifác","Zsófia",
"Botond, Mózes","Paszkál","Erik","Ivó, Milán",
"Bernát, Felícia","Konstantin","Júlia, Rita",
"Dezső","Eszter","Orbán","Fülöp","Hella",
"Emil, Csanád","Magdolna","Zsanett, Janka",
"Angéla");$_junius = array
("","Tünde","Anita, Kármen","Klotild","Bulcsú","Fatime",
"Norbert","Róbert","Medárd","Félix","Margit",
"Barnabás","Villő","Antal, Anett","Vazul","Jolán",
"Jusztin","Laura","Levente","Gyárfás","Rafael",
"Alajos","Paulina","Zoltán","Iván","Vilmos",
"János","László","Levente, Irén","Péter, Pál",
"Pál");$_julius = array
("","Annamária","Ottó","Kornél","Ulrik","Sarolta, Emese",
"Csaba","Appolónia","Ellák","Lukrécia","Amália",
"Nóra, Lili","Izabella","Jenő","&Őrs","Henrik",
"Valter","Endre, Elek","Frigyes","Emília","Illés",
"Dániel","Magdolna","Lenke","Kinga, Kincső",
"Kristóf, Jakab","Anna, Anikó","Olga",
"Szabolcs","Márta","Judit","Oszkár");$_augusztus = array
("","Boglárka","Lehel","Hermina","Domonkos","Krisztina",
"Berta","Ibolya","László","Emőd","Lörinc",
"Zsuzsanna","Klára","Ipoly","Marcell","Mária",
"Ábrahám","Jácint","Ilona","Huba","István",
"Sámuel","Menyhért","Bence","Bertalan","Lajos",
"Izsó","Gáspár","Ágoston","Beatrix","Rózsa",
"Erika");$_szeptember = array
("","Egon","Rebeka","Hilda","Rozália","Viktor, Lőrinc",
"Zakariás","Regina","Mária","Ádám","Nikolett, Hunor",
"Teodóra","Mária","Kornél","Szeréna","Enikő",
"Edit","Zsófia","Diána","Vilhelmina","Friderika",
"Máté","Móric","Tekla","Gellért","Eufrozina",
"Jusztina","Adalbert","Vencel","Mihály","Jeromos");$_oktober = array
("","Malvin","Petra","Helga","Ferenc","Aurél",
"Renáta","Amália","Koppány","Dénes","Gedeon",
"Brigitta","Miksa","Kálmán","Helén","Teréz",
"Gál","Hedvig","Lukács","Nándor","Vendel",
"Orsolya","Előd","Gyöngyi","Salamon","Bianka",
"Dömötör","Szabina","Simon","Nárcisz","Alfonz",
"Farkas");$_november = array
("","Marianna","Achilles","Győző","Károly","Imre",
"Lénárd","Rezső","Zsombor","Tivadar","Réka",
"Márton","Jónás, Renátó","Szilvia","Aliz",
"Albert, Lipót","Ödön","Hortenzia, Gergő",
"Jenő","Erzsébet","Jolán","Olivér","Cecília",
"Kelemen","Emma","Katalin","Virág",
"Virgil","Stefánia","Taksony","András, Andor");$_december = array
("","Elza","Melinda","Ferenc","Barbara, Borbála",
"Vilma","Miklós","Ambrus","Mária","Natália","Judit",
"Árpád","Gabriella","Luca","Szilárda","Valér",
"Etelka","Lázár","Auguszta","Viola","Teofil",
"Tamás","Zéno","Viktória","Ádám, Éva","KARÁCSONY",
"KARÁCSONY","János","Kamilla","Tamás","Dávid",
"Szilveszter");$_nevnap = array
("", $_januar, $_februar, $_marcius, $_aprilis,
$_majus, $_junius, $_julius, $_augusztus,
$_szeptember, $_oktober, $_november, $_december);echo ("Ma ".$_datum[year].". ".$_honap[$_datum[mon]]." ".$_datum[mday].", ".$_hetnapja[$_datum[wday]]." - <b>".$_nevnap[$_datum[mon]][$_datum[mday]]."</b> napja van. Holnap <b>".$_nevnap[$_datum[mon]][$_datum[mday]+1]."</b> napja lesz.");
?>
-
DS39
nagyúr
válasz
mnorbi89 #15092 üzenetére
a leírtaknak nem látom a gyakorlati hasznát, mert a "címzett" minek és hova írná be a saját nevét hogy megkapja a köszöntést, de.. ha már megcsináltál egy névnapköszöntőt, azt jelenti van mögötte egy adatbázis is, innentől az egész egy lekérdezéstől függ, ha az elküldött név, és az ahhoz a névhez tartozó dátum egyezik a lekérdezés dátumával, akkor kiíratod az üzit.
-
mnorbi89
csendes tag
Sziasztok! Az a problémám hogy csináltam egy névnap köszöntőt phpba, de nekem úgy kelle hogy ha beirok egy nevet és pont arra a napra esik az adott névnap akkor kiirja hogy boldog névnapot, ha nem akkor nem ír ki semmit. köszi a segítséget előre is.
-
Tele von Zsinór
őstag
válasz
LonGleY #15089 üzenetére
Mehet egy gépen a kettő, de tudnod kell háttérprogramot indítanod, ami az ős-seedet megcsinálja. Vannak viszonylag egyszerű, parancssoros torrent kliensek, de ha jól értem, sima osztott tárhelyed van, még talán ssh-d sincs - ekkor nem (vagy nem látom, hogyan) megoldható.
Jobb híján arra gondoltatok már, hogy az oldal csak a torrentet szolgálja ki, és ti páran kollégák otthonról seedelitek amikor amúgy is torrenteztek?
-
LonGleY
veterán
Üdv!
Az oldalunkat torrent alapú letöltési lehetőséggel szeretnénk felvértezni, viszont nincs VPS és egyéb seedserverünk. Kivitelezhető mégis ez a fajta osztási mód úgy, hogy a tárhely maga a seeder is? Adatbázis lehetőség persze van.
Eddig ezt találtam: php-tracker.org
-
#68216320
törölt tag
válasz
fordfairlane #15086 üzenetére
Aha, köszönöm. Nem is AddEmbeddedImage-el, hanem AddAttachment-el csatoltam a képet. Kipróbálom akkor így.
-
#68216320
törölt tag
Email üzenetbe szeretnék képet tenni. Eddig úgy emlékeztem, hogy a phpmailer-t használva (ez van az oldalba építve) ha csatolmányként küldök egy képet, akkor azt a ./kepnev.jpg útvonalon elérem. Hát tévedtem, mert nem jelenik meg, bárhogy is próbálkozok. Van valami jól bevált megoldás, ami sok kliensen megjeleníti a képet?
-
biker
nagyúr
Ma kaptam egy emailt, hogy az általam fejlesztett webshop egy partnernél év eleje óta nem küldi ki a megrendeléseket, javítsam ki.
Visszaküldtem nekik a december 6-i levelezést, amiben jeleztem, hogy ha költöztetik a honlapot webshopostól, akkor lesznek szíves
1: hozzáférést újra adni
2: szólni hogy átállítsam a mailküldés jelszavát (swiftmailer smtp)Válasz az volt, profik a srácok, átköltöztetik, beállítják.
Látom, profik... egy fileban van letárolva, mit kellett volna átírni, 10 soros, és rém sejtelmesen config.php a neve
-
Sk8erPeter
nagyúr
Szerintem nem trükközésekre van szükség, hanem a koncepciód átgondolására. Mi indokolja, hogy többezer naplózott sort kiírass egyetlen oldalra? Mi a probléma a paginationnel? Keresőmező?
Tényleg kíváncsi vagyok amúgy a magyarázatra, mert most nem jön át, milyen racionális indok lehet mögötte.Amúgy simán megvalósítható, amit írtál, hogy az oldal egy bizonyos pontjára elérve betöltesz újabb elemeket AJAX-szal.
Lehetséges megoldás:
jQuery Waypoints Infinite Scroll -
DNReNTi
őstag
válasz
trisztan94 #15078 üzenetére
Jogos, nem tudom mi az eljárás pontos neve, de több tumblr oldalon láttam már.
-
-
trisztan94
őstag
hirtelenjében a következő ötlet jutott eszembe: először lekérdeződik mondjuk 30 sor, user scrollol, ha a page 3/4-énél jár (mondjuk jquery onscroll-al), akkor jön egy ajax hívás, hogy a következő 30-as blokkot kérdezze le, és az eredményt beillesztem a html tábla végére
Pont erre való a LazyLoad.
-
akasp
senior tag
válasz
Sk8erPeter #15073 üzenetére
persze, a koncepció semennyire sem bonyolult: mysql db, logolás céljából rögzítődnek adatok egy táblába (kb 4-5 oszlopos), és ezt kell lekérdezni. több ezer sorról van szó, ahogy az idők folyamán gyűlik az adat. viszont mindent egy oldalon szeretnék megjeleníteni, tehát pagination kizárva.
@mobal: egyáltalán nem muszáj egyszerre, ha ez az alábbi ötlettel megoldható.
hirtelenjében a következő ötlet jutott eszembe: először lekérdeződik mondjuk 30 sor, user scrollol, ha a page 3/4-énél jár (mondjuk jquery onscroll-al), akkor jön egy ajax hívás, hogy a következő 30-as blokkot kérdezze le, és az eredményt beillesztem a html tábla végére. ez a koncepció működőképes? a napokban fogok nekiállni, és ajax téren még kezdő vagyok, ezért kérdezem, hogy ez megvalósítható-e valahogyan nem túl bonyolultan.
-
Sk8erPeter
nagyúr
Azt szabad megkérdezni, milyen lekérdezésről van szó? Csak kíváncsiságból kérdezem, hogy nagyjából milyen adathalmazról van szó, meg miért tart 30-40 mp-ig annak legenerálása, és miket állítotok elő, egymásba ágyazott táblázatok sokaságát? Csak mert utóbbi is jelentősen meg tudja dobni a generálás idejét.
-
akasp
senior tag
Hali!
A következő lenne a kérdésem: adott egy php oldal, amiben van egy sql lekérdezés. a lekérdezés az adatok sokasága miatt eltart akár 30-40mp-ig is. eddig ez úgy valósult meg, hogy html kódba beágyazva van az sql query. az oldal meghívódik, query elkezd futni, az oldal fehér képernyővel loadingol, user semmit nem lát.
úgy szeretném használhatóbbá tenni az oldalam, hogy először betölti a html-t és meg is jeleníti, majd szépen ahogy jönnek az adatok, bepakolászni a táblázatba az egyes rekordokat. tehát ha el is tart 30-40mp-ig az összes adat lekérése, a már lekért sorokat megjeleníti, addig lehetne azokat böngészni, és egy indikátor mehetne alulra (amíg fut a query) hogy még töltődnek adatok.
remélem érthetően fogalmaztam
köszi előre is!
-
Sk8erPeter
nagyúr
válasz
#68216320 #15065 üzenetére
"A DD-on látható kód ASCII kódokat csinál belőle?"
Igen. (Épp ezért csak ékezetmentes domainek esetén működik, mondjuk úgyis az a gyakoribb.)"Mert arra gondoltam, annál talán jobb, ha generálok egy tömböt a mail-ben használható karakterekkel és azokból rakom össze a címet. Esetleg lehetne, hogy mindig másképp keveri a karaktereket össze a tömbbe. Ez túlbonyolítás?"
A válasz megint csak igen.Jelen esetben nem sok értelme van korlátozgatni, hogy mik a használható karakterek: pontosan tudod előre, hogy milyen email-címet akarsz legenerálni, azoknak meg - ékezetmentes domaint feltételezve - pontosan tudod az ASCII-kódját. Akkor mi a gond?
ord() - Return ASCII value of character
Neked pontosan ez kell. Már ha úgy akarod, ahogy írtam egy lehetséges megoldást a nagyon sokból, hogy szerveroldalon ilyenformán előállítod az email-cím ASCII-karaktereit, aztán kliensoldalon (JavaScripttel) meg összerakod a rendes email-címet. Ennek a megoldásnak mondjuk annyi hátránya van, hogy a szerver- és kliensoldal megvalósítása email-cím generálása tekintetében függ egymástól, de hát na bumm, ez most belefér.
Mondjuk semmiképp sem a DynamicDrive-on látható ocsmány document.write-os megoldással kéne megcsinálnod, hanem úgy, hogy például adott osztállyal ellátott elemben végrehajtod ezt a konvertálást.De még csomóféleképpen meg lehet oldani, mint az előző hsz.-ben írtam.
-
válasz
Speeedfire #15066 üzenetére
Szerintem csak a kulcs-érték párok kerülnek be a _POST-ba, a json adatok nem.
Próbáld meg a $HTTP_RAW_POST_DATA-t vagy ezt:
$postdata = file_get_contents("php://input"); -
Speeedfire
félisten
Json adatokat szeretnék küldeni egy api-nak tesztelésre, de nem kapok a $_POST tömbben adatokat.
Amiben curl-el meghívom: [link]
Az api részben:
public function actionTest() {
print_r($_POST);
}A curl beolvassa a fájlt és el is küldi az adatokat, amit egy szövegfájlból olvas. A szövegfájlban json adat van, ami valid.
A szerver válaszol is http 200-al, de nem lát semmit sem a $_POST-ban.Valami ötlet, hogy miért lehet ez?
-
#68216320
törölt tag
válasz
Sk8erPeter #15062 üzenetére
Köszi. Kép, flash, valami'kukac'.hu nem járható út. A JS már igen. A DD-on látható kód ASCII kódokat csinál belőle? Mert arra gondoltam, annál talán jobb, ha generálok egy tömböt a mail-ben használható karakterekkel és azokból rakom össze a címet. Esetleg lehetne, hogy mindig másképp keveri a karaktereket össze a tömbbe. Ez túlbonyolítás?
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #15035 üzenetére
"A nagy baj, hogy nem egyértelmű, mi lenne itt a helyes megoldás. A példádnál maradva: január 31-éhez egy hónapot adva mit vársz? Februárt? De hiszen ott nincs 31-e, ha meg a 28-át adod vissza, akkor nem egy hónapot adtál hozzá. Március? De hiszen én csak egy hónapot akartam hozzáadni."
Ebben igazad van, hogy nem egyértelmű, mégis én a MySQL-féle dátumkalkulációit sokkal értelmesebbnek találom a PHP-énál (legalábbis ilyen intervallumos számítgatásoknál többször kapom az általam elvárt eredményt, még ha az általam elvárt eredményt is lehet nyugodtan vitatni), ahol a SELECT DATE_ADD('2001-01-31',INTERVAL 1 MONTH); query eredménye éppen 2001-02-28 lesz - végül is ez is vehetjük úgy, hogy egy hónap hozzáadása, csak épp február hónap napjainak számát adtuk hozzá.Számomra az kevésbé tűnik logikusnak, hogy január 31-hez hozzáadva egy hónapot kijön március 3-a, de igazad van abban, hogy itt nincs "logikus" megoldás, DE mivel a hónap napjainak száma folyton eltér az adott hónaptól függően, ezért szerintem az sem tartozik a jó megoldások közé, hogy az egy hónap az feltétlenül 30 nap. Nincs jó megoldás.
-
Sk8erPeter
nagyúr
válasz
Lacces #15037 üzenetére
"De lemértem a feldolgozás idejét microtime()-al is, és hát érdekes módon az add(new DateInterval()) utasítással 10-ből 8 alkalommal gyorsabb volt, mint a modify()-os megoldás."
Ezt most ugye nem gondoltad komolyan?És akarsz róla beszélni, hány milliszekundumot nyertél vele?
-
Sk8erPeter
nagyúr
válasz
#68216320 #15061 üzenetére
Kiírathatod képként az e-mail-címet (persze ne generáld le a képet minden alkalommal nyilván). Kiírhatod a címet valami teljesen érthető, de mégsem komplett módon: peachman KUKAC dzsímél PONT com . Még azt is csinálhatod, hogy szerveroldalon picit obfuszkálod az e-mail-címet, aztán kliensoldali mutatvánnyal kalapálod össze újból. (Hasonló megközelítés lehet, ha összehozod szerveroldallal (bár nem pont ilyenre gondoltam, de teljesen mindegy): ez legenerál egy kliensoldali kódot az e-mail-cím kiíratására, mondjuk általában a dynamicdrive-on található kódok vagy elavultak, vagy undorítóak (itt se tudtak volna kitalálni jobbat a document.write helyett...), de az ötletet felhasználhatod.) Vagy akár Flash-sel kirakhatsz egy gombot, ami a cím vágólapra másolására szolgál. Neadjisten on-demand töltöd be a címet AJAX-szal... Meg ilyenek.
-
#68216320
törölt tag
Milyen megoldással lehetne kiírni egy oldalra az e-mail címeket úgy, hogy a scanner-ek ne lássák? Nem akarok spam-eket kapni emiatt.
-
Lacces
őstag
Kinek mi jön be, én a Phalcon-t várom, hogy "shared hosting"-on is elérhető legyen
.
Én sokat szenvedtem a Yii-vel. Most a Yii 2.0-t próbálgatom, hát ez az új SearchModel osztályról inkább nem is beszélnék, amit a Gii adott vissza nekem, az nagyon nem frankó szerintem. Nekem ez az egész ActiveRecord nem tetszik. Néha olyan érzésem van, hogy ezt a full kezdőknek találták ki. Szerintem ez a Model osztály nagyon el van benne szúrva... A Rules metódus nem rossz, na de, hogy mindenféle Getter és Setter nélkül elérem a model mezőit, szerintem az elég gáz...
A Yii legnagyobb fegyvere szerintem az Asset kezelés. És a cache-ing is egész jó.A laravel nem rossz, van benne kraft, de túl sokan gondolják úgy, hogy ez a kezdők framework-je. Én már bekerültem egy nemzetközi csapatba, így elég gyorsan fel fejlődtem és a Java-s beütésem miatt a Symfony2 nagyon bejött. (Lehet lassabb, de hosszabb távú projekteknél ez a nyerő, fenntartható kód...)
És a Laravel, mint a Yii merített a Rubyból, de sokat merített a Symfony2-ből, nagyon sok bundle-t behúzz a Symfony2-ből.
De nincsenek konfig yml fájlok vagy szervíz xml-ek, mint a Symfony2-ben. Sokkal egyszerűbb, és néha butább is, de érdekes. A Routingolást érdemes megnézni, könnyen kezelhető PHP kódból (nincsenek Annotációk, mint a Symfony2-ben). De nagyon hasonló. Talán ennek is az oka az, hogy a Config-ja az nagyon szétvan szedve, az is olyan nem csodás. Na meg a controllerekből hiányzik az Action szó végén.
De egy nagyon egyszerű (néha nagyon buta) Symfony2 filozófiát követ.
Az ORM az tetszik, az tényleg ORM számomra. A blade template kezelő is nagyon jó, egy butított twig. És ez a bundle rendszer sem rossz.Bár hozzátenném, hogy én elég szerencsétlenül is mozgok a Yii-ben.
.
Én aztmondanám, hogy egy gyors, főleg marketing alapú weboldal kell, akkor a Yii. Ha blog oldal, akkor ismét a Yii, amihez a beépített RBAC egész jó. Na meg az új debugger toolbar-t is a Symfony2-ből szedték.
De egy hosszabb távú egyszerűbb projektnél már a Laravel, az ORM jobb, hosszabb távon fenntarthatóbb, megköti a kezed (persze lehet szabadon). Yii-nél a Gii használata ellenjavasolt.
Bár az, hogy itt a Laravelben nem kellett használni namespace-t az sem semmi... de egyébként minden más egyszerűbb weboldalhoz a laravel. Nem hiába lett felkapott. Bár kevés hozzá a bundle, de vannak kezdeményezések. Bár szerintem a Yii több szolgáltatást nyújt, de az ActiveRecord-os megoldássa, hosszabb távon nem nagyon éri meg... Fórumokon olvasgattam, hogy sokan kifogásolják.
Sebességben meg úgy vettem észre, hogy mindkettő egyszinten van.Egy basic app esetében a laravel jobb, vagy hosszabb távú basic app esetében. De egy ilyen middle alkalmazásnál már akkor a Yii 2.0 az ajánlott, mert több szolgáltatást nyújt alapból a framework, mint a laravel,de hosszabb távon, ha nem kellenek a yii szolgáltatásai akkor a laravel a fenntarthatóbb, vagy akkor már Symfony2.
Symfony2-ben vannak a CRUD függvények, ami nem mást csinál, mint egy "piszkos" adatkezelést(insert,update,delete), azaz csak a memóriában végezz rajta műveletekt, de adatbázisba nem, adatbázisba a módosításokat csak a flush() metódussal fogja végrehajtani.
A laravel meg örökölte a softDelete() metódust, ami piszkos törlést végezz a memóriából, de az adatábzisból nem. Lehet a következő verziókban lesz softInsert és softUpdate is?
Yii 2.0-nál pedig insert, update esetén megtudod tekinteni a régi értékeket is... ami nem rossz.
Jelenleg most fogok majd átírni egy eddigi elkezdett appot Yii 2.0-ból Laravel-be is, és akkor majd lesz végleges döntésem, hogy mennyire jó a Laravel, vagy sem.Amúgy meg PhalconPHP
.
Az esemény kezelés egész jó a Laravel-ben.
-
#68216320
törölt tag
válasz
fordfairlane #15056 üzenetére
Aha, köszönöm. Megpróbálom akkor a saját példámba átültetni.
(#15054) Athlon64+: Tisztában vagyok vele. Viszont most adódott egy konkrét feladat, amit szeretnék ezzel megoldani, ha tudok. Talán valós helyzetben használva könnyebben megértem a lényegét.
-
válasz
Peter Kiss #15055 üzenetére
Igaz, ami igaz, kicsit be vagyok tojva emiatt a JSON dolog miatt. Nem tudom, mennyire kell belemászni.
-
fordfairlane
veterán
válasz
#68216320 #15052 üzenetére
A Hozzaszolas osztály Blog-ja alatt kellene egy User objektum és ott az Image()-el megkapnom a profilkép útvonalát.
A Hozzaszolas objektum egyik attribútuma a User, a userId a User attribútuma. A Hozzaszolasnak, legalábbis ebben a kontextusban, nincs szüksége az userId-ra, jobb, ha nem is tud róla.
<?php
class User {
private $userId;
public function __construct($userId) {
$this->userId = $userId;
}
public function getImagePath() {
$userId = $this->userId;
// construct userimagePath
return $userImagePath; // ez megadná a User profilképének útvonalát
}
}
class Hozzaszolas {
private $user;
public function __construct($user) {
$this->user = $user;
}
public function getHTML() {
$userImagePath = $this->user->getImagePath();
return $html; // egy DIV-et adna vissza a hozzászóló profilképével, nevével, hozzászólás szövegével, stb.
}
}
$user = new User(1);
$hozzaszolas = new Hozzaszolas($user);
$app->response($hozzaszolas->getHTML()); -
Peter Kiss
őstag
válasz
csabyka666 #15053 üzenetére
Mi magas a jelenlegi context-ben a json-ban? Setcookie előtt kell egy json_encode, használat előtt meg egy json_decode, ha fogalmad sincs arról, mi a json, akkor sem kell pánikolni miatta.
-
Peter Kiss
őstag
válasz
#68216320 #15052 üzenetére
Szóval pl. a Hozzaszolas class felelne azért, hogy letöltse valahonnan a hozzászólásokat, majd mindenből csináljon HTML kimenetet?
OO módon a Hozzaszolas osztály kb. semmit sem tud, van pár field-je gettere settere a nyilvánvaló adatokhoz, de fogalma sincs arról, hogy hol van tárolva, illetve hogyan kell megjelennie. Maximum képes fenntartani egy relációt a kapcsoló User-rel, bár ezt sem közvetlenül, hanem csak közvetetten, ORM cuccok megoldják ezeket, de nem jelenti azt, hogy neked is így kell.
Azt látom, hogy jelenleg van egy farönköd, és azt kérdezed, hogyan lesz ebből székelykapu, de odáig igen hosszú az út.
Valami kisebb feladattal kellene próbálkozni elsőnek.
-
válasz
Peter Kiss #15051 üzenetére
Húh, de ezzel sok elem esetén átláthatatlanok lesznek (legalábbis nekem) a cookie-k.Egyetlen cookie-ban nem lehet megoldani? (JSON nélkül, mert az nekem nagyon magas...
)
Ha létezne valami olyan függvény, amivel lehet figyelni a cookie tartalmát, akkor már azt is meg tudnám oldani, hogy kétszer ugyanaz a szám ne kerüljön bele.
-
#68216320
törölt tag
válasz
Peter Kiss #15049 üzenetére
Persze, bocsi.
class User {
public function Image($userId) {
...
return $userImagePath; // ez megadná a User profilképének útvonalát
}
}
class Hozzaszolas {
public function Blog($blogId) {
...
return $blogHTML; // egy DIV-et adna vissza a hozzászóló profilképével, nevével, hozzászólás szövegével, stb.
}
}
$hozzaszolas = new Hozzaszolas;
$blogHozzaszolasok = $hozzaszolas->Blog(1);A Hozzaszolas osztály Blog-ja alatt kellene egy User objektum és ott az Image()-el megkapnom a profilkép útvonalát.
-
Peter Kiss
őstag
válasz
csabyka666 #15050 üzenetére
http://php.net/manual/en/function.setcookie.php example #3, másik lehetőség, hogy egy kulcsot használsz, és kézzel serialize-lod a tömbödet json_encode()-dal, majd json_decode()-al vissza.
-
Üdv mindenkinek!
Azt szeretném kérdezni tőletek, hogy létezik-e valami megoldás arra, hogy egy cookie tartalmát módosítsam?
Mindezt úgy képzeltem el, hogy pl. van egy cookie-m, aminek a tartalma 1,3,4,5,8...szóval számok, és nekem mondjuk a 4-est ki kéne vennem a sorból, és 1,3,5,8...stb. maradna csak.
Oké, töröljem le, és hozzam létre újra, de akkor is valahogy meg kellene keresnem, hogy hol van az adott elem, amit ki kellene törölni.Néztem több fórumot is, de nem találtam megoldást. Tudtok ebben segíteni?
(Van egy olyan merész elképzelésem, hogy a cookie-nak egyetlen eleme lenne, ami egy tömb, és akkor azt be tudnám járni...ez megoldható esetleg?)
Köszönöm a válaszokat előre is!
-
-
#68216320
törölt tag
Még csak ismerkedem az OOP megoldásokkal és ezzel kapcsolatban volna nagyon alap kérdésem.
Létrehozok két osztályt.
User - profilkép, user adatai, stb.
Hozzaszolas - hozzászólások szövege, megjelenítési variációk, letárolás, stb.A lényeg, hogy a hozzászólás osztályban a megjelenítésnél szeretném a user objektum profilképét használni. Hogyan lehet ezt megtenni?
-
CSorBA
őstag
Valaki ilyennel találkozott már?
Call to undefined function mysqli_begin_transaction()
Többi mysqli function pedig megy.
-
-
Köszönöm a választ, így frankón működik!
Ahogy újra átnéztem a kódot, már látom, hogy rosszul volt felépítve az egész, illetve - szerintem - még az is hiba volt, hogy először nem azt vizsgáltam, hogy a belép gomb megnyomásra került-e, hanem kapásból a session tartalmát erőltettem, és már ott lehalt a dolog.
-
Köszi a válaszokat, hamarosan ki is próbálom a javaslatokat!
-
#68216320
törölt tag
válasz
csabyka666 #15038 üzenetére
Én csak nagyon amatőr vagyok, de az alábbi megoldást használnám:
account.php - a belépéshez és tartalom megjelenítéshez. bár én magam a tényleges belépést is egy login.php-ban intézném el.
logout.php - a kilépéshezErről jut eszembe, a session_destroy() csak kinyírja a session-t és megmaradnak még a $_SESSION globális tartalmak vagy törli is azokat? Mert esetleg felesleges a logout.php-ban külön foglalkozni velük.
-
biker
nagyúr
válasz
csabyka666 #15038 üzenetére
teljesen rossz a kód, az if ágban rosszul vannak egymásba ágyazva a dolgok
<?php
session_start();
if(isset($_POST["belep"])){
$_SESSION["belepve"] = 1;
$_SESSION["username"] = $_POST["username"];
}
if(!isset($_SESSION["belepve"]))
{
echo "Az oldal megtekintéséhez be kell jelentkezned!";
echo '
<form method="post">
Felhasználói név: <input type="text" name=username /></br>
<input type="submit" name="belep" value="Belépés" />
</form>';
}
else{
echo "Üdvözöllek ".$_SESSION["username"];
echo "Az oldal tartalma: blablabla...";
//itt nem volt lezárva az else ág!
}
?> -
#68216320
törölt tag
válasz
csabyka666 #15038 üzenetére
...
-
Üdv mindenkinek!
Session alapú beléptetést próbálom összehozni, és "majdnem" működik is, viszont van egy kis problémám vele, amiben a segítségeteket szeretném kérni.
Összeraktam egy egyszerű felületet, aminek annyi a lényege, hogy alapesetben csak egy beléptető form-ot lát a felhasználó, és ha megad bármilyen felhasználói nevet, csak azután láthassa az oldal tartalmát. (Nincs benne adatbázis sem, most csak a működés lenne a lényeg.)Ezt a kódot hoztam össze:
<?php
session_start();if(!isset($_SESSION["belepve"]))
{
echo "Az oldal megtekintéséhez be kell jelentkezned!";
echo '
<form method="post">
Felhasználói név: <input type="text" name=username /></br>
<input type="submit" name="belep" value="Belépés" />
</form>';if(isset($_POST["belep"])){
$_SESSION["belepve"] = 1;
$_SESSION["username"] = $_POST["username"];
}
}
else{echo "Üdvözöllek ".$_SESSION["username"];
echo "Az oldal tartalma: blablabla...";
?>Ez működik is, de amikor beírok egy nevet, és rányomok az elküld gombra, megint behozza a bejelentkező felületet, és ismét be kell írnom valamit, vagy frissítenem kell az oldalt. A kilépésnél ugyanez a probléma: 2x kell meghívnom azt a php-t, amiben a session_destroy(); szerepel. Mit rontottam el?
Lehet, hogy kézenfekvő a hiba, de nézzétek el nekem, hogy nem vagyok egy programozó zseni.
Köszönöm a segítséget előre is!
-
Lacces
őstag
válasz
Sk8erPeter #15031 üzenetére
Rondának ronda, én sem vagyok oda érte...
De lemértem a feldolgozás idejét microtime()-al is, és hát érdekes módon az add(new DateInterval()) utasítással 10-ből 8 alkalommal gyorsabb volt, mint a modify()-os megoldás.
Ezért maradtam ennél a megoldásnál.
De a végén lesz még egy refactor, akkor még meggondolom
.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #15031 üzenetére
A nagy baj, hogy nem egyértelmű, mi lenne itt a helyes megoldás. A példádnál maradva: január 31-éhez egy hónapot adva mit vársz? Februárt? De hiszen ott nincs 31-e, ha meg a 28-át adod vissza, akkor nem egy hónapot adtál hozzá. Március? De hiszen én csak egy hónapot akartam hozzáadni.
Inkább maradtak annál, hogy a +1 hónap az +30 napot jelent, és igyekeznek felhívni erre a figyelmet. A hónap egy instabil időtartam (kicsit olyan ez, mint timestampeknél a 86400 mint egy nap - általában igaz, de néha mégsem).
-
Hujikolp
őstag
Üdv!
Van egy tömböm, amikben fájl nevek vannak. Hogyan tudom ennek a tömbnek az elemeit hátulról olvasni, addig amíg egy ponthoz el nem érek? Tehát, a fájl kiterjesztés típusa kell nekem külön. Ez rendszerint zip, doc, docx, pdf stb lesz, ha megint megfordítom az állomány olvasási sorrendjét.
-
Sk8erPeter
nagyúr
válasz
Lacces #15030 üzenetére
$dateTime->add(new \DateInterval('P'.$dayNumber.'D'));
Szerintem ez elég ronda.Szebb lenne helyette így:
$dateTime->modify('+1 day');Érdemes egyébként odafigyelni rá, hogy a DateTime osztálynak nagyon szépen megvannak a maga hülyeségei, ahogy írják is php.net-en, a hivatalos doksiban:
http://www.php.net/manual/en/datetime.add.php"Example #3 Beware when adding months
<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');
$date->add($interval);
echo $date->format('Y-m-d') . "\n";
$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>The above example will output:
2001-01-31
2001-03-03"Ez remek, hogy tudnak róla, de nem ártana talán némi korrekció, ahelyett, hogy felhívják a figyelmet erre a hülyeségére.
-
Lacces
őstag
válasz
Lacces #15029 üzenetére
Megvan egy megoldás:
A $dayNumber-t majd nekem kell átkonvertálni, mert összevissza van a rövidített neve a magyar napoknak. (H, Sze, Cs, V, stb....)
A setIsoDate-nek átadom az aktuális évet és az aktuális hetet, ez mindig a hét első napjára (hétfő-re mutat).
Ezek után a nap numerikus értékét felhasználva növelem a napok számát (akár az eredeti angol-t is fel lehet így hasznáni PHP 5.1.0+-tól)
És akkor megkapom a kívánt dátumokat napra pontosan.
(már csak a time-ot kell belőni, ha valaki szertné még hozzá// TODO: Convert Hungarian day name to Number of day.
$dayNumber = 1;
$dateTime = new DateTime();
// Set to the first day of the current week.
$dateTime->setISODate(date('Y'),date('W'));
// Add the
$dateTime->add(new \DateInterval('P'.$dayNumber.'D'));
echo $dateTime->format('Y-m-d'); -
Lacces
őstag
Hali,
Van egy kis problémám dátum kezeléssel... (ha legalább megmondanátok hogyan keressek rá, az is elég
)
Szóval nekem minden héten le kell húznom egy tartalmat. Ahol az idő nem másból áll, mint a Nap és az Idő (óra perc formátumban)
És az lenne a kérdésem, hogy letudom-e ebből a két adatból generálni hozzá egy megfelelő dateTime objektumot? (valahogy a beépített PHP függvényeket használva).
Ugyanis ez a rész akkor válik izgalmassá, amikor Hónap forduló is van a héten, vagy év forduló is.
Mivel hetente kell leszedni ezt, végül is a Hét is megszerezhető. És akkor már 3 adat van, és valahogy a hét sorszámából plusz a napból (szombat, vasárnap, hétfő... nem szám), nem tudja ezt a PHP belső függvénnyel kigenerálni a hozzátartozó pontos dateTime objektumot?Persze tudnék írni sajátot, is ami ezt összállítja automatikusan, de nem akarok ha van ilyen belső funkció a PHP-nak.
-
Sk8erPeter
nagyúr
válasz
trisztan94 #15027 üzenetére
Pontosan. A markdown TÉNYLEG segíti az egyszerűbb, sallangmentes és viszonylag kényelmes tartalom-létrehozást, annak is, aki egyébként ismeri a HTML-szintaktikát.
Na ez a BBCode-ról egyáltalán nem mondható el. A HTML-lel szemben sem a felhasználást nem teszi kényelmesebbé, sem a parse-olást, validálást, szűrést (se kliensoldalon, se szerveroldalon), tulajdonképpen csak macerás és korlátolt (lásd például az IMG tagnek az alap BBCode-szintaktikában nem tudsz title-t adni, csak a képhez tartozó URL-t, és hasonlók), ahelyett, hogy sima HTML whitelist lenne, ahogy egyébként manapság már az szerencsére sokkal inkább jellemző (ha valahol engedélyezett a HTML használata pl. kommentelőrendszerben). Tisztességes DOM-struktúrát sem lehet felépíteni belőle. A felhasználók így tényleg kapnak egy használhatatlan tudást, amikor ennyi erővel már megtanulhatták volna a HTML-t is, aminek még haszna is lenne.
(#15026) PeachMan :
"BBCode: Amúgy sem tetszett soha és nem is tudom lehet-e pl. img-t align paraméterrel ellátni."
Ugyan, hova gondolsz."Amúgy jelenleg is használok saját css-t az editorhoz, bár egyelőre csak az editor alap betűtípusa miatt, hogy az legyen, ami majd a főoldalon is lesz a tartalomnak."
Minden tekintetben érdemes a WYSIWYG editor iframe-jét olyanra formázni, amilyen a végleges környezetében lesz (hülye példával: ha sárga háttérszínt kap, akkor legyen sárga a szerkesztőfelületen is). De adott esetben (pl. blogtartalom szerkesztésekor, és hasonló esetekben) még egyszerűbb az inline-formázást használni:
http://www.tinymce.com/tryit/inline.php
http://ckeditor.com/demo#inline"Azt kellene valami számomra is teljesen átlátható módon megoldani mondjuk HTML tagokból minden paraméter eltűnjön, kivéve a class=""."
HTML Purifierrrel:
http://stackoverflow.com/questions/670031/how-to-whitelist-just-some-attributes-with-htmlpurifier
HTML.AllowedAttributes -
trisztan94
őstag
válasz
Sk8erPeter #15025 üzenetére
Maximalisans egyetertek. En is nezegettem korabban a BBCode-ot, de egyszeruen nem ertettem mi ertelme van ennek. Nem sokkal bonyolultabb html tageket hasznalni, cserebe sokkal atlathatobb.
Vagy ha mar mindenkepp valami html-tol fuggetlen formazasi nyelvet akar az ember, akkor markdown. Annak is baromi egyszeru a szintaktikaja es nagyon lightweight (nem veletlenul hasznalja a Reddit, SO, stb)
-
#68216320
törölt tag
válasz
Sk8erPeter #15025 üzenetére
Persze. Nem ignoráltam.
Pontosan ezt fogom megpróbálni. Amúgy jelenleg is használok saját css-t az editorhoz, bár egyelőre csak az editor alap betűtípusa miatt, hogy az legyen, ami majd a főoldalon is lesz a tartalomnak.
BBCode: Amúgy sem tetszett soha és nem is tudom lehet-e pl. img-t align paraméterrel ellátni. De, ezek után nem is érdekel.
Azt kellene valami számomra is teljesen átlátható módon megoldani mondjuk HTML tagokból minden paraméter eltűnjön, kivéve a class="". A feladat adott, napokon belül lesz időm foglalkozni vele.
Köszi az eddigieket. Még jönnék vissza kérdéssel pár nap múlva és remélhetőleg mihamarabb a megoldással is.
-
Sk8erPeter
nagyúr
válasz
#68216320 #15023 üzenetére
Amit én írtam, azt is láttad?
Nem azért írtam, hogy ignoráld."Felmerült bennem, hogy esetleg a bbcode nem volna-e megfelelő"
Mégis miért volna bármire is megoldás a BBCode? A BBCode úgy, ahogy van, egy f@szság, már születésétől kezdve értelmetlen volt a létezése. Ahelyett, hogy a felhasználókat a sokkal értelmesebb normál HTML-szintaktikára oktatták volna, beleerőltették a fejükbe tök feleslegesen a semmire nem használható BBCode-szintaktikát. Így az évek során kaptak egy használhatatlan, értéktelen fos "tudást". A Prohardveres BBCode-szerű szintaktika is egy értelmetlen fos, megérdemelne pár botütést, aki ezt bevezette, és aki még ezt a mai napig életben tartja. -
#68216320
törölt tag
válasz
fordfairlane #15019 üzenetére
Első hallásra úgy tűnik ez túlmutat a jelenlegi képességeimen. Természetesen ez nem kifogás csupán a jelenlegi helyzet. Mivel most sok időm nincs a dologra, egyelőre marad a csupaszított editor és a kevés védelem.
Amint lesz időm, viszont utánajárok a témának. Felmerült bennem, hogy esetleg a bbcode nem volna-e megfelelő. HTML alap formázásokhoz és pár sablon használatához. Nem néztem még ennek sem a színfalai mögé, így azt sem tudom megvalósítható-e vele. -
olyan editor érdekelne amivel online lehet komplett html fájlokat szerkeszteni (<html></html> érszt is) elég a text editor ... tyne fck nem jó mert itt konkrétan a templateeket szerkesztené az ügyfél ...
elképzelés:
bal oldalt egy fájl browser amiben mappák / fájlok bejárhatóak biztonsági okokból csak a .html és .css fájlok lennének elérhetőek és ezeket tudná módosítani... módosításkor én egy mod mappába menteném a módsított fájlokat s maga a tartalomkezelőm innen töltené be ... -
#39417856
törölt tag
válasz
Sk8erPeter #15020 üzenetére
köszi az infót, de én nem igazán ilyenre gondoltam.
nekem valami ehhez hasonló kellene, szóval totalcommanderből tudnék felötleni fájlokat a mappába, de ha beírnám pl. hogy http://lap.szolgaltato.hu/mappa akkor ott így jelennének meg a mappák és fájlok. esetleg a fájloknak mappáknak lehetne ikonjuk. szóval böngészőből csak olvasni é letölteni lehessen, feltölteni törölni ne. -
Sk8erPeter
nagyúr
válasz
#39417856 #15018 üzenetére
Jaja, van ilyen megoldás, a régi ajaXplorer, aminek a neve most már Pydio: https://pydio.com/. Nagyon fasza, én szeretem, használom, persze azért konfigurálni kell, de csak egyszer kell átfutni a dokumentációját, meg bújni az opciókat a fájlmegosztáshoz és egyebekhez.
Egyéb tekintetben semmit nem kell vele csinálni, beállítod, működik, ahogy kell. Lehet vele még tömörített állományok tartalmát is kotorászni, Flash-alapú videólejátszója van, képnézegetője, fájlszerkesztője, lehet vele másolni, mozgatni, letölteni más URL-ről, tömöríteni, meg kibontani, szóval elég sok funkciót ellát, kényelmes felületen.(#15019) fordfairlane :
nem is tudtam, hogy a TinyMCE doksijában is szerepel a HTML Purifier, attól függetlenül ajánlottam, de jó tudni. Ezek szerint biztos jóféle, sok helyen láttam már ajánlva. -
fordfairlane
veterán
válasz
#68216320 #15016 üzenetére
Ahhoz, hogy a bejövő szöveg megfeleljen minden szükséges kritériumnak, ahhoz a html-et DOM objektumfává kell alakítani, és az objektumfán végigmenve szemantikus szűrést kell végezni tagokra, attribútumokra és stílusleírásra.
Ezzel el lehet szőrözni jó sokat, már csak azért is, mert a HTML és a CSS egymástól erősen eltérő ún. "domain specific language", saját szintaktikával, escape szekvenciával, mifenével. Szóval az első próba a Tiny MCE FAQ-ban is ajánlott Html purifier könyvtár feltérképezése legyen szerintem, esetleg valami más, hasonló komponenssel való próbálkozás.
-
#39417856
törölt tag
Sziasztok!
Van nekem egy webtárhelyem és szeretném ha beírva a címét egy olyan felület fogadna engem mint egy TotalCommander fájlkezelő. Láttam már pár webhelyen ilyet, hogy kilistázza a mappákat és a fájlokat benne. Úgy lenne jó, ha bizonyos mappákat nem jelenítene meg, vagy esetleg jelszót kérne hozzá. Másik az hogy jó lenne egy fájlfeltöltő is amivel egy "upload mappába töltene max 3mb-s képeket és azt is meg lehetne utána tekinteni a fájlkezelővel. erre van valami kész megoldás?Tehát összegezve: kellene egy fájlkezelő és egy fájlfeltöltő a webtárhelyemre amit elérhetnék pl a http://tarhelyem.host.hu/filekezelo oldalról.
-
Sk8erPeter
nagyúr
válasz
#68216320 #15016 üzenetére
Szerintem valami meglévő library-t kellene felhasználnod a HTML-elemek szűrésére (lásd a korábbi linket, de lehet, hogy van jobb, mint a HTML Purifier), ez azért közel sem triviális feladat, és néhány regexp nem biztos, hogy elegendő rá. Bár azokkal is megoldható részben.
Az, hogy csak class-ok vannak megengedve, azért jelentősen egyszerűsíti a dolgot (mivel csak a class-attribútumot kell engedned), ezen pedig kliensoldalon úgy lehet segíteni, hogy jól jelenjenek meg ezzel a tartalmak, hogy a TinyMCE-ben különböző stílusokat definiálsz előre. Lásd a "Custom formats"-demót; ha a Formats-ba belenézel, ott például láthatod az Example 1, Example 2 stílusokat - ezek egyszerűen sima span-tagek, és class van hozzáadva:tinymce.init({
mode: "textareas",
plugins: "table",
content_css: "css/content.css",
style_formats: [
{title: 'Bold text', inline: 'b'},
{title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
{title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},
{title: 'Table styles'},
{title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
],
formats: {
alignleft: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'left'},
aligncenter: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'center'},
alignright: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'right'},
alignfull: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes: 'full'},
bold: {inline: 'span', 'classes': 'bold'},
italic: {inline: 'span', 'classes': 'italic'},
underline: {inline: 'span', 'classes': 'underline', exact: true},
strikethrough: {inline: 'del'},
customformat: {inline: 'span', styles: {color: '#00ff00', fontSize: '20px'}, attributes: {title: 'My custom format'}}
}
});Itt ez a két sor az érdekes persze:
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},Ez jó példa arra, hogy simán megoldható, amit szeretnél, mármint kliensoldalon.
Ettől még szerveroldalon persze kell szűrni ugyanúgy.A TinyMCE-nek is egyébként van már inline szerkesztési funkciója, az egyszerűsíti a dolgot (az oldalra vonatkozó stíluselemek vonatkoznak akkor a szerkeszthető részre is).
De ha a szokásos, iframe-es megoldást választod (mint a fenti), akkor pedig egyszerűen meg kell mondani a TinyMCE-nek, hogy melyik CSS-fájlt használja fel a stílusok érvényesítésére, ezt a content_css opcióval tudod meghatározni (ezt is láthatod fentebb). Ebbe belerakhatod a class-okat, meghatározhatod, hogyan nézzen ki a textarea. Érdemes úgy kialakítani a textarea kinézetét, ahogy várhatóan ki fog nézni a végleges eredmény."Aztán az <img> tovább nehezíti a dolgot, hogy csak a tárhelyen lévő képet fogadja el."
Erre is biztos van már valami nagyon egyszerű függvény, vagy hasonló, vagy csak simán egy regexp is elég lehet (ilyet nem olyan nehéz egyébként írni); esetleg ezt még ki lehet egészíteni file_exists() ellenőrzéssel, ha szükséges (hogy egyáltalán létezik-e az a fájl a szerveren). -
#68216320
törölt tag
válasz
Sk8erPeter #15015 üzenetére
Ez egy afféle blog-szerű rész lenne, tehát lenne több formázási lehetőség is. A <span> rész szűrésnél a strip_tags() whitelist-be téve a tag-ot megmarad az egész ugyebár. Azon belül amikor benne van a style rész, hogyan tudom tovább szűrni? Az a gondom, hogy a strip_tags() csak HTML tagokkal dolgozik. Vagy rosszul tudom? illetve, ha class-t hagyok csak benne, akkor sem tudom, miként szűrjem ki a span mögül a többit.
Erre van valami könnyen járható út?Pl:
<strong>valami szöveg</strong> - OK
<span style="font-weight:bold;">valami szöveg</span> - NEM OK (nehogy mást is írhasson a tartalomba)
<span class="editorBold">valami szöveg</span> - OK
Valami ilyesmi rendszerre lenne jó megoldást találni.
Aztán az <img> tovább nehezíti a dolgot, hogy csak a tárhelyen lévő képet fogadja el. De ez már egy másik történet ... -
Sk8erPeter
nagyúr
válasz
#68216320 #15009 üzenetére
Jaja, ismerem ezt a formázási lehetőséget TinyMCE-nél, de ezzel tényleg nem úsztad meg még a többi feladatot. Meg hát ez még csak kliensoldal, szerveroldalon így is-úgy is kell whitelist alapján szűrni a kapott inputot.
"Mivel font style választás esetén nem tudnám megúszni vele a css-t. Ha viszont hagynám a <span> tagot, akkor visszaélésre adna lehetőséget."
Milyen visszaélésre gondolsz? Igazából a spannél is a class- és style-attribútumot szabad csak meghagyni, és utóbbira ezenbelül is legyen whitelist, hogy milyen stílusformázásokat engedsz (a class-re mondjuk nehéz, meg feleslegesnek tűnik).
Például egy fórum hozzászólásainál nem lenne jó engedni mindenféle aláhúzásokat, betűszíneket, háttérszíneket, ilyesmiket, amivel elcsúfítható az oldal összképe. -
DNReNTi
őstag
válasz
Sk8erPeter #15007 üzenetére
thx
-
#68216320
törölt tag
válasz
Sk8erPeter #15008 üzenetére
Oké
A TinyMCE 4.x init részébe többek közt belekerült az alábbi:
formats: {
alignleft: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', attributes: {"align": 'left'}},
aligncenter: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', attributes: {"align": 'center'}},
alignright: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', attributes: {"align": 'right'}},
alignfull: {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', attributes: {"align": 'justify'}},
bold: {inline: 'strong'},
italic: {inline: 'em'}
}Ezzel a szükséges pár formázást nem css-el, hanem html taggal éri el. Tehát nem <span style="font-weight:bold"> lesz, hanem <strong>. Ilyen módon a strip_tags()-hoz tudok készíteni whitelist-et ami tartalmazza s <strong>-ot.
Viszont megnézem amit linkeltél. Ugyanis több HTML formázással gondban lennék. Mivel font style választás esetén nem tudnám megúszni vele a css-t. Ha viszont hagynám a <span> tagot, akkor visszaélésre adna lehetőséget.
-
Sk8erPeter
nagyúr
válasz
#68216320 #15004 üzenetére
Illik ilyenkor megírni, mire jutottál.
Miket szeretnél kiszűrni?
Egyébként szerintem ilyen sanitizing feladatokra valami kész megoldást szokás használni, de úgy, hogy whitelisted van (nem blacklisted).
Ezt kéne kipróbálnod például (ha nincs kéznél másik jól működő megoldás):
http://htmlpurifier.org/Egyébként kliensoldalon úgy emlékszem, enged a TinyMCE is valami előszűrést (persze ez nem elég önmagában, csak egy első szűrőnek jó).
-
Sk8erPeter
nagyúr
válasz
DNReNTi #15005 üzenetére
Itt próbáld meg: WordPress topic.
-
DNReNTi
őstag
Villámkérdés WP guruknak:
Adott egy régi (nem tudom mikori verzio) telepitve egy ügyfelemnél és nem tudja a jelszót hozzá. Se ő se senkiaz adatbázisban átírnám a jelszót de nem tudom milyen titkosítással/hash-el van tárolva. Milyennel van? Pl azt szeretném egy 'a' betű legyen mit írjak be?
Köszke -
#68216320
törölt tag
Üdv!
Egy user-ek által használt WYSIWYG editor felületet pakolok éppen egy rendszerbe.
A TinyMCE 4.0.13 a választott. Viszont olyan problémába ütköztem, hogy szeretném a textarea tartalmát megtisztítani a nem kívánt tartalmaktól. (js részek, spec formázások, stb.) Arra gondoltam, hogy a strip_tags() megfelelő lesz nekem, de ehhez arra volna szükség, hogy az editor HTML kódokkal formázzon, ne css-el. Ebben tudna valaki segíteni? Esetleg van más mód a textarea tartalom tisztításra? -
válasz
modder #15000 üzenetére
Igen, a Javához hasonlóan viselkedik, a primitív típusoknál és tömbnél működik a copy on write.
Csak a PHP tud olyat is, hogy objektumot adsz át & karakterrel:function test($var)
{
$var = (object) array('abc' => '123');
}
function test2(&$var)
{
$var = (object) array('def' => '456');
}
$foo = (object) array('bar' => 'baz');
print_r($foo);
test($foo);
print_r($foo);
test2($foo);
print_r($foo);Kimenet:
stdClass Object
(
[bar] => baz
)
stdClass Object
(
[bar] => baz
)
stdClass Object
(
[def] => 456
) -
válasz
Speeedfire #14991 üzenetére
Az nem jó, mert nekem 6000 sorra kb 3 sec alatt sikerült. Bár kérdés, hogy mennyi oszlopod van. SQL?
Új hozzászólás Aktív témák
Hirdetés
- HP Elitebook 745 G3 érintőképernyős laptop (14FHD/I5-G6/8GB/256SSD)
- RTX 4090 / RTX 3090 videokartya hütő ventivel olcson! Dobozzal!
- Thinkpad T14s Gen4 14" FHD+ IPS i5-1345U 16GB 512GB NVMe ujjlolv gar
- HP Elitebook 840 G3 laptop (14FHD/I5-G6/8GB/256SSD/Win11)
- Eladó Samsung Odessey G6 S27DG600SU Monitor!
- BESZÁMÍTÁS! Apple Macbook Pro 15" 2019 i9 9980HK 32GB 500GB Radeon Pro 560X hibátlan működéssel
- Samsung Galaxy S25 Ultra 1TB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! Számítógép PC Játékra! Intel I7 6700/ RX 580 8GB / 32GB DDR4 / 500GB SSD
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged