- Samsung Galaxy Watch7 - kötelező kör
- Extra erő egy gombnyomásra - Engwe EP-2 Boost
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- Mobilinternet EU-n kívül, eSIM adatcsomagok használata
- Érintésnélküli fizetési megoldások - PayPass via NFC
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Vivo X200 Pro - a kétszázát!
- Fotók, videók mobillal
- Android alkalmazások - szoftver kibeszélő topik
- Milyen okostelefont vegyek?
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Amúgy ez fura, azt nézem, hogy a PHPMailer osztályban (5.1) egyáltalán nincs is ellenőrzés arra vonatkozóan, hogy a felhasználó nem cseszte-e el a karakterkódolás bepötyögését, pl. egy karakterkódolás-beállító függvény formájában, ellenben rengeteg tagváltozó publikus, ami szerintem kicsit ellentmond a klasszikus OOP-elveknek (persze nem csak erről szól az OOP, de ha már lehet, egy helyen megvalósítjuk a változók beállításának megfelelő ellenőrzését is - egyből a beállításkor).
Ez már csak azért is szar, mert bármikor megcsinálhatnám, hogy tételezzük fel, úgy van példányosítva az osztály, hogy nem dobál kivételeket, de történik valami hiba, aztán én mondjuk ezt csinálom:
$mail->ErrorInfo = null;
vagy hasonlót - miért férek hozzá kívülről az ErrorInfo-hoz?
Nekem ez kicsit furcsa. Persze ennek semmi értelme, hogy én ezt csináljam, csak saját magamat szívatnám vele, de szerintem a lehetőség se legyen meg rá, hogy az ember ekkora baromságot csináljon, ha már OOP, és lehetne mondjuk protected (private nem lenne jó az esetleges leszármaztatás miatt).
Lehet, hogy a függvénybe ugrálásnak nagyobb az overheadje, de szerintem itt mondjuk nem számítana a különbség - így lehetne pl. egy setCharSet() metódus vagy valami hasonló, amiben elsőként ellenőrzi a függvény a kapott paramétert, hogy létezik-e egyáltalán olyan karakterkódolás, és amennyiben nem, akkor dobna egy kivételt (vagy beállítaná az ErrorInfo változót, és kiírná a hibát, ha úgy van beállítva (default)).(Egyébként gondolom Te is így példányosítod a PHPMailert:
$mail=new phpmailer( true );
hogy dobáljon kivételeket, nem?) -
biker
nagyúr
azt nem tudom, akkor azon a serveren épp mit csináltak, a rendszergazda volt figyelmetlen, vagy mi, de jó 5 percig az index.php teljes forrása jött le, amig újra nem sikerült indítani az apacheot.
menet közben leállt a php modul, és futott tovább az apache. ezt ugye buffer underrunnal nem igazán lehet elérni, de elvileg lehetséges.
azt hiszem ultraweben volt. -
biker
nagyúr
A php file-t kívülről nem lehet elérni, mert a webszerver tudja, hogy az egy php file, így nem a php programkódot fogja visszaadni a felhasználónak, hanem lefuttatja php-val, és amit az kiír a standard kimenetre, na az megy a júzernek.
kivéve ha ügyesen kiütik a serveren a php modult, és azonnal kiprinteli a server a teljes forráskódot
láttam már ilyet.
-
Brown ügynök
senior tag
.htacces: RewriteRule ^cikk(.*)$ index.php/.../file.php?id=$1 [L]
Hivatkozás: <a href="cikk'.$row['id'].'">
Útvonal:
elseif ($uri == '/blog/cikk'.$_GET["id"])
{ mutató_függvény($_GET['id']); }Mint mondtam, ez így működik. A gond azzal van, hogy másik kért url-nél, amelyben átadok paramétereket, szintén kéri az id-t. Lásd feljebb.
-
-
Sk8erPeter
nagyúr
Köszi a választ.
Igen, épp a bottleneck-eket szeretném megragadni, és felmerült bennem, hogy esetleg az Apache-csal ilyen módon való regexpes szarakodás esetleg lassíthatja az oldalbetöltést, mert tárhelyen szándékosan elhelyeztem egy időméregetőt, először az elején hívom meg a fv.-t, majd a kiíratások legvégén megint, és az eredményét kiírom, és van, hogy többet várok, mint a kiírt eredmény (a script maga jó), ami mondjuk következhet abból is, hogy valamiért lassan reagál a szerver a kérésre, vagy f#ngom sincs.Amúgy itt az időméregető:
<?php//Oldal generálási idejének számolásához ( http://weblabor.hu/cikkek/idezojelek )
function getmicrotime() {
list($usec, $sec) = explode(" ", microtime());
return ((float) $usec + (float) $sec);
}
$time_start = getmicrotime();
/// blablabla, vizsgálgatás, kiíratás, stb.
// oldal legvégén:
$time_end = round( getmicrotime() - $time_start , 5 ) ;
echo '<small>|| Oldalgenerálás: '.$time_end.' s ||</small>';
///... HTML-kód befejezése (pl. </body></html>)"A RewriteRule-ok alapból így működnek. Fentről lefele halad a .htaccess fileban egészen addig, amíg talál egy megfelelő sort, ami alapján átírja az url-t"
Sejtettem, csak még sajnos a gyakorlatban nem volt időm megtapasztalni, hogy is van ez, addig azért kérdeztem, hátha van valakinek erről már tapasztalata korábbról, mert egyelőre azt sem tudom, hogy olyan feltétel esetén, ami stimmel, megáll-e egyáltalán a vizsgálat. (Szerk.: valszeg erre való az [L] flag használata. Itt egész jó lista van a flagekről: [link]. Meg egy igen alapos leírás a mod_rewrite-ról, aminek mondjuk tisztában vagyok az alapjaival, csak ezt a többes feltételt nem próbálgattam.)
Mindjárt megpróbálok utánanézni. -
Sk8erPeter
nagyúr
Jé, ezt az fpassthru() függvényt még soha nem használtam, ez miben más, mint a többi, kép kiíratására használható módszer?
(Pl. akár a readfile() - meg most hirtelen az imagepng() jut eszembe, de az mondjuk nyilván azért nem jó, mert képtípusfüggő az eredménye (pl. beadok neki egy jpg-t, akkor false-t ad vissza, az nem túl jó.) -
pumatom
aktív tag
Köszönöm a válaszokat, de ugyanúgy hiba jelentkezik
Warning: Cannot modify header information - headers already sent by (output started at /home/domainname/public_html/index.php:6) in /home/domainname/public_html/index.php on line 57
Ezt a header() -t tartalmazó sorokban kiírja hibaként.
-
sbazsi
veterán
-
Brown ügynök
senior tag
Kezdő vagyok, ezt "$db=&JFactory::getDBO();" nem én írtam de szerintem azért van előtte "&" jel mert: PHP 4 -ben :Hivatkozás szerinti átadás a tgfv-ben változó elé tett: "&". Mondjuk a JFactory nem változó... Egyébként PHP 5 van fent nekem.
Akkor nem tudom. Szóval az fölösleges elé? Ha kiveszem előle attól még mindig nem működik.
Vagyis az include-ást kellene megoldani? Nézem...
-
biker
nagyúr
kicsit gázabb, flashnek adom át, és ott sorra bármilyen módon indexeltem újra, megbolondult a feldolgozó motor tömb kibontása.
csak mivel ez egyfajta chat lenne, fölösleges pl 100-nál több üzenetet lekérni, és jó lenne az utolsó 100, de majd akkor megduplázom queryben.
köszi
most még a variables_order-el szívunk, mert a cookie is benne van, ami pedig nem default php.iniben, EGPCS, és néha valahonnan belekerül valami a tömbbe, és nem lehet használni azon a gépen a rendszert, restart, cookie ürítés, után megy.
default pedig biztonsági okokból régóta EGPS szimplán.nem baj, servergazda majd csak átállítja, remélem
-
biker
nagyúr
igen, az itteni kódban nincs benne, mert nem jó.
az a baj, emelkedő sorrendben várja a feldolgozó flash az ID-ket.
az array reverse megfordítja a sorrendet is és nem rendezi újra és nem indexeli újra, ez már lehet bonyolultabb lenne, marad a dupla query
mert az 1=a,2=b,3=c,4=d,5=e tömböt 5=e, 4=d, 3=c, 2=b, 1=a, és nem 1=a, 2=b stb
és ez már nem jó nekem. -
ArchElf
addikt
(amúgy az or mellett az and is használható ehhez analóg módon, szerencsére nem túl elterjedt)
Miért szerencsére? Én úgy tudom, hogy mindkettő feltételes kiértékelést is végez; így az
a and b and c and d
csak az (a)-ig jut, ha az (a) hamis, míg a
!a or !b or !c or !d
is csak (a)-ig jut, ha (!a) igaz, mert mindkét esetben már egyértelmű a kifejezés...amúgy tényleg, mi ezzel a baj:
if (isset($_SESSION['belepett']) and ($_SESSION['belepett']))AE
-
zka67
őstag
Listázáskor így is úgy is végig kell mennie rajta, és tök mindegy, hogy milyen feltételt vizsgál. Azt, hogy lejárt flag van vagy dátum. De végülis nekem tökmindegy, hogy hogy csináljátok, csak segíteni akartam. Ha majd egyszer aukciós házat nyitok, én biztosan nem ütemezéssel fogom megcsinálni.
-
Sk8erPeter
nagyúr
"A jelen esetben viszont a levél tartalma a weboldalon található form-ból jön, na itt már nem mindegy a weboldal kódolása."
Na ez az, éppen ezért volt ellentmondásos, amit írtál.
Mégpedig ez:
"Na látom még senkinek nem tűnt fel egy apróság, ezért beleszólok én is.
Egy dolog a weboldalad karakterkódolása és egy teljesen más dolog a php programod által elküldött email karakterkódolása. A weboldalad karakterkódolásának tulajdonképpen semmi köze az email küldéséhez."A többivel kapcsolatban teljesen egyetértek.
-
Sk8erPeter
nagyúr
Ez most lehet, hogy csak számomra tűnik ellentmondásosnak. Azt mondod, hogy az email végső kódolásának, a küldött adatoknak köze nincs a weblap karakterkódolásához, aztán kifejted, hogy mégis (pl. "- a weboldalad szövege megfelelő karakterkódolású legyen - a <head> részben töltsd ki a karakterkódolást. -..."). Vagy csak félreérthető volt a postod (számomra igen).
Szép dolog az előre megírt osztályok használata, de tulajdonképpen jó lenne rábírni, hogy rendesen működjön saját módszerrel is, abból lehet tanulni, ha Te írod meg. Múltkor nálam is volt valami probléma a levélküldésnél bizonyos karakterkódolásoknál, azóta mondjuk még nem volt időm foglalkozni a levélküldözgetésekkel, megoldottam más kódolással. Az előbb leírt megoldás problémájára kellene rájönni, az lenne a legjobb. -
Sk8erPeter
nagyúr
Nem tudom, lehet, hogy félreértettem, de az előbbi esetben most nem arról volt szó, hogy mondjuk egy cím mögé írt $_GET azonosítót elfogadva ellenőrizgetjük, hogy adott felhasználó belépett-e?
Azért az, hogy a felhasználónál tároljuk a session erejéig, talán akkor is kicsit megbízhatóbbnak tűnik, mintha bárhonnan hozzáférnek egy azonosítóhoz egy ilyen kis query stringgel...(#4351) Tele von Zsinór: ennek mi a lényegi funkciója?
-
raczger
őstag
igen, tudom, nagyjából már kezdem érteni a dolgot
bár ezt a biztonsági rést kicsit bővebben kifejthetnéd, én most úgy csinálom, hogy feldarabolom az url-t (/ jelekkel) és azokat a változókat használom fel (azokat a paramétereket is lekezelem természetesen, ügyelek arra hol és hogyan használom) -
raczger
őstag
Tehát több szabályt is szeretnék csinálni, prioritási sorrendben. Tehát az alap rész az működik tökéletesen, viszont úgymond kivételeket szeretnék hozzáadni, tehát ha a user az alábbi oldalra megy: http://localhost/taglista/raczger , akkor a http://localhost/taglista.php?id=raczger címre irányítsa. Szimpla fájlátirányítást sikerült csinálnom, mint kivétel, viszont akkor elszállt minden css, mégpedig szerintem azért, mert a létező fájlokat utána már nem kezeli kivételnek, amit szintén nem értek miért. Tehát az alábbi kifejezés működött: RewriteRule ^taglista /taglist.php [L]
Ha reguláris kifejezéssel is megfűszerezem akkor már nem. -
raczger
őstag
Köszi, igaz, ettől függetlenül viszont nem akar menni. Azt hiszem jobb ha bemásolom az egészet:
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*) index.php?page=$1&id=$2&mod=$3&y=$4 [QSA]
RewriteRule ^.*/taglista/([^0-9a-z_\-]) taglist.php?id=$1 [L]
</IfModule>
folyamatosan keresem neten a megoldást, de így most hirtelen nem nagyon értem még ezt a mod_rewrite-ot -
fordfairlane
veterán
Egy egész jó adatbáziskezelő réteg. Nekem egyrészt a hibakezelése tetszik, másrészt pedig az, hogy a query paramétereket lehet bindparam-sszal hozzárendelni magához a query stringhez (mint az Oraclenál, egész könnyű átállítani az egészet Oraclera utólag a fejlesztéseket). Mezőket pl. nem kell escapelni idézőjellel, mysql_escape függvényekkel sem, ezt automatikusan elvégzi a string típusoknál.
Már írtunk is egy komplett adatbáziskezelő osztályt, ami a PDO-ra épül rá, új fejlesztéshez egy éve csak ezt használjuk.
-
Sk8erPeter
nagyúr
De ha valaki mégis szeretne órát a honlapjára, akkor az az ő dolga...
PHP-vel ezt megoldani azért hatalmas baromság lenne.(még ha csak a perceket íratná ki, akkor is kellene egy visszaszámláló, ami mondjuk 60 mp-enként frissíti magát, vagy valami hasonló, meg AJAX, meg anyámkínja, ki lehet hozzá találni okosságokat, de minek
)
-
DeltaPower
addikt
-
Sk8erPeter
nagyúr
Mondjuk az or die... rész jól jön teszteléshez, legalább jelzi, ha valamit elcsesztem. Persze ez már működő rendszernél nyugodtan elhagyható, de ha mondjuk saját gépen tesztelem, és elfelejtem módosítani az eredeti adatbázisneveket, akkor ez legalább jelzi, hogy valamit még kéne csinálni. Nem nézek, mint Jani a moziban, hogy most akkor mi van.
Mondjuk nagyon összetett lekérdezéseknél épp az eredeti mysql_query()-s megoldás tényleg jobb lehet. -
egyjotakaro2
tag
Enter the path of your site:
Type path to install your script. Files will go into this directory, too. It should not exist, it should be somthing new.
Install Method (itt van file:// ftp:// sftp://
Install path meg adtam az elérési útvonalat be állítottam ftp-re meg adtam a host, username, password-ott és erre ezt adja Fatal error: Class 'write_ftp' not found in /phpfreechat-1.2/phpfreechat-1.2-setup.php(1) : eval()'d code on line 72 ) szall nem értem, szerintem hanyagolom ezt már...
e.g. /var/www/html/phpfreechatEzt írja...
Install path: /phpfreechat-1.2/phpfreechat
ez áll.... Most ki próbálom hogy ha át írom az elérést hogy változik e valami... -
Sk8erPeter
nagyúr
"Nem tudom, mitől szebb. Ha arra van szükséged, hogy 2 query-t lefuttass egymás után, akkor azt le kell futtatni egymás után, miért csúnya ez?"
Hát nem tom, szerintem jobban mutat.Pl. adott a következő:
$query = "DELETE FROM `adatb`.`tbl_egyik` WHERE `tbl_egyik`.`id` = 1 LIMIT 1;\n";
$query = @mysql_query($query)
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . ": ". mysql_error() ."<br />");
$query = "DELETE FROM `adatb`.`tbl_masik` WHERE `tbl_masik`.`id` = 1 LIMIT 1;";
$query = @mysql_query($query)
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . ": ". mysql_error() ."<br />");
$query = ""DELETE FROM `adatb`.`tbl_harmadik` WHERE `tbl_harmadik`.`id` = 1 LIMIT 1;";
$query = @mysql_query($query)
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . ": ". mysql_error() ."<br />");Ehelyett lehet így is:
$query = "DELETE FROM `adatb`.`tbl_egyik` WHERE `tbl_egyik`.`id` = 1 LIMIT 1;\n"
. "DELETE FROM `adatb`.`tbl_masik` WHERE `tbl_masik`.`id` = 1 LIMIT 1;\n"
. "DELETE FROM `adatb`.`tbl_harmadik` WHERE `tbl_harmadik`.`id` = 1 LIMIT 1;";
if ($mysqli->multi_query($query)) {
do { /* ... */ }while ($mysqli->next_result());Számomra utóbbi áttekinthetőbb...
Szerinted?
"Annak idején az első munkámat úgy kaptam meg, hogy lóf*szt se értettem az egészhez. Konkrétan javascript-et az első, beugró feladatomnál írtam először
."
Én is az első munkámnál tanultam meg a(z) (X)HTML, CSS, JavaScript, PHP, MySQL alapjait, haverom faterjának csináltam egy honlapot baráti alapon (nem fizetős), kutyatenyészetről volt szó, és meg kellett csinálni hozzá a szép, felhasználóbarát (és egyben foolproof) admin felületet is, hogy tudjanak képet hozzáadni, a kutyához törzskönyvet kitölteni, meg minden egyéb adatot, törlés, módosítás, a honlap szerkesztése és minden egyéb finomság belekerült, szoptam vele elég sokat. Szerencsére nem tűztek ki szoros határidőt (főleg mivel tisztában voltak vele, hogy ingyé' csinálom, meg csak most tanulom az egészet), szóval eltökölhettem vele egy pár hónapot, mire nagyjából fullos lett. A dizájnon mondjuk lenne mit csiszolni, de valahogy a dizájn egyáltalán nem érdekel.De majd ráérő időben ráfekszem arra is. Egyedül azért mindent megcsinálni kicsit sokáig tartott...
Most utólag javítgatom a kódot, és röhögök a saját hibáimon. És még mindig érzem, hogy az igazán komoly webfejlesztéstől elég messze vagyok, de folyamatosan tanulok."Senki sem fog fizetni azért, mert megspóroltál 0.3% processzoridőt, vagy hogy 0.2 másodperc helyett 0.13 alatt jön be a weboldal."
Ez igaz, de saját kíváncsiságom kielégítésére jó móka ilyenekkel szórakozni.Persze ha már komoly munkánál szoros határidő lesz, akkor valszeg nem apróságokkal fogok tökölni.
-
biker
nagyúr
ja, utólag rájöttem, hogy normális dolog, majd átírom a magfelelő verzióra, addig is mondtam neki, hogy egy böngésző két tabján ne kezelje a két rendszert, úgyse tud két helyen lenni fizikailag.
ékes példája, miért nem jó a glogális változónem lehet ugyanaz a sessionben tárolt változó neve a post-al küldött változóval.
-
Sk8erPeter
nagyúr
"Microtime-al tudsz időt mérni, memory_get_usage-el tudsz memóriahasználatot mérni. Esetleg felrakhatod a zend szervert, ott kapsz pl. profile-ozási lehetőséget."
Köszönöm az ötleteket, erre voltam kíváncsi."Tehát ha lassú egy rendszer, akkor nem attól lassú, mert mysql helyett mysqli-t használsz, vagy fordítva."
Ebben igazad van, de most épp azért kellett a mysql_query-s lekérés helyett a mysqli osztály függvényeit használnom, mert még korábban elég csúnya módszerrel úgy oldottam meg a többszörös lekérdezést (pl. több elem törlésekor más táblákból, vagy több sima SELECT-es lekérdezés egymás után, majd az eredmények tárolása, kiíratása - persze itt is elválasztva az alkalmazáslogikát a megjelenítéstől, ahogy illik), hogy egymás utáni mysql_query-ket hajtottam végre, az a kódban meg elég csúful mutat, sokkal szebb, ha konkatenálom egy sztringbe a lekérdezéseket, majd egymás után végrehajtom MySQLi-függvényekkel, ahogy írtam. Pl. van olyan eset, amikor a júzer törölni szeretne az admin felületen egy képet az összes kategóriából, és ilyenkor magából a képtáblából is törölni kell, meg a kategória-kép-összerendelő táblából is, és ilyenkor jó rondán néz ki a kódban az egymás után mysql_query.Aztán ha már próbálgattam, kíváncsi voltam arra is, hogy vajon a két lekérdezés (sima mysql_query-vel vagy mysqli-s függvényekkel) között milyen időbeli különbségek vannak. A memóriahasználatbeli különbségekre is kíváncsi vagyok.
Meg egyébként még nem dolgozom komoly cégnél, mint honlapszerkesztő, most egyelőre szeretném magam minél jobban kiképezni, és megtanulni, hogy mik azok a megoldások, amik a lehető legkisebb erőforrást igénylik, és a leggyorsabb megjelenítést eredményezik.
Ezért foglalkozom esetleg apróságoknak tűnő kérdésekkel is. -
Sk8erPeter
nagyúr
Köszönöm a válaszokat, akkor tényleg maradok a lehető legegyszerűbb megoldásnál.
Ami talán mellesleg ugyanolyan gyors is, vagy gyorsabb, mint ha minden egyes feltételt vizsgálgatnék, annak megfelelően törölnék, stb. Azért jó ebbe a topicba írni, mert végül a segítségetekkel valahogy mindig eljutok a közel legegyszerűbb megoldáshoz.
"Általában egy nagy terhelésű rendszeren az adatbázis i/o a szűk keresztmetszet, nem pedig a processzor sebessége."
Mondjuk gondolom ilyen esetben érdemes lenne megfontolni, hogy inkább PHP-vel vizsgálgatom a különböző tömböket kicsit komplikáltabb módon, mint hogy több adatot töröljek, majd vigyek be újra az adatbázisba.Még egy eszembe jutott, amire kíváncsi lennék:
-csak érdekességképpen: van olyan módszer, amivel figyelni lehet a felhasznált erőforrások váltakozását? Csak azért, mert érdekelne, az egyes módszerek, függvények felhasználástól függően vajon nagyjából mennyi erőforrást (memóriahasználat, prociigény) igényelnek. Legalább itthoni gépen próbálgatnám, ha a szolgáltató szerverén nem is lehet - van olyan külső progi, amit rá lehet állítani a PHP-s folyamatokra? Vagy akár beépített függvény? A microtime()-mal ugye elvileg jól lehet figyelgetni a lekérdezések idejét, ezzel csak az a probléma, hogy nyilván a saját procim is mindig más folyamatokkal foglalkozik, mást helyez előtérbe (prioritás, megszakítások), ezért akárhányszor frissítek a böngészőben, a microtime() függvény mindig más eredményt ad... így sokszor még ez sem olyan jó összehasonlítási alap.
Pl. azt akartam tesztelni legutóbb, hogy a többszörös mysql_query($query) utasításnál mennyivel gyorsabb a MySQLi osztály használata, és a $mysqli->multi_query($query) utasítás egy do{...}while($mysqli->next_result()); paranccsal.
De akárhányszor frissítettem, mindig más eredmény jött ki, egyszer az egyik javára, máskor a másik javára - de összességében a MySQLi osztály használata a multi_query()-vel jött ki győztesen, legalábbis ott szerepeltek a rövidebb értékek a legtöbbször.(#4086) cucka: igazad van, a JavaScriptes megoldás a legegyszerűbb, amennyiben szükség van a gomb value mezőjére (már amennyiben egy felhasználónál nincs kikapcsolva a JavaScript, de ez az esetek döntő többségében nem áll fenn).
-
Sk8erPeter
nagyúr
Tényleg, köszi.
Nem tudom, miért nem jutott eszembe, hogy azt is meg lehetne oldani, hogy még egyszer lekérdezem a feldolgozó fájlban az adatbázist, és összepakolom a lekérdező parancsot sima for ciklussal aszerint, hogy ha mondjuk nem adott azonosítószámú annak a bizonyos post tömbnek az aktuális értéke, akkor insert...
De mondjuk abban is igazad van, hogy talán adatbázisban átláthatóbb lenne, ha minden egy helyen lenne, bár nem mintha túl sűrűn nézegetné bárki is az adatbázist, de esetleg a kódban is jobban lehetne követni az eseményeket, kevesebb parancs lenne, ha adott azonosítójú elemet törölnék az összerendelő táblából, aztán a kiválasztott kategóriáknak megfelelően ismét feltölteném.
Na de ez nem lenne sokkal erőforrás-igényesebb művelet? Valóban nem lenne túl sokszor kategória-átrendezgetés, de azért gondolkodom hosszú távon is.
Mondjuk most jobban belegondolva ha azt csinálnám, hogy a feldolgozó fájlban ismét lekérném adatbázisból a kategória-összerendeléseket, és összehasonlítanám a post tömbbel, amiben a bejelölt kategóriák azonosítói vannak, akkor a for ciklusban is lennének if(in_array(...)) és ehhez hasonló ellenőrzések, ráadásul akkor külön kellene figyelni, hogy viszont mi az, ami NINCS benne a korábbi hozzárendelésekhez képest az új kategória-kiválasztásokban, amit meg törölni kell, és akkor lehet, hogy ott vagyok, ahol a part szakad.Vagyis így a hozzászólás végére eljutottam arra a következtetésre, hogy lehet, hogy semmivel nem lenne erőforrás-igényesebb az, ha mindent törölnék, és mindent újra hozzáadnék - itt már az a kérdés, hogy vajon melyik működik gyorsabban, a MySQL törlő és hozzáadó műveletei, vagy a PHP összehasonlítgatásai, majd egy MySQL-törlés illetve -hozzáadás...
Hmm, na ezekkel a különbségekkel mondjuk nem vagyok tisztában, ezt azért nem lenne egyszerű tényleges összehasonlításnak alávetni.De inkább az első megoldás tűnik hasznavehetőbbnek.
Azt hiszem, igazad van abban, hogy ezerszer átláthatóbb és követhetőbb lenne, ha inkább mindent törölnék, majd mindent hozzáadnék a kiválasztottaknak megfelelően.
Ha esetleg valami kommentár eszedbe jutott még a leírtakkal kapcsolatban, akkor örömmel várom.Köszi.
-
RoyalFlush
őstag
Átpakoltam UW-ról a fájlokat, db-t és ennél a szolgáltatónál alig működik belőle valami, ezért gondoltam tesztelem
szerk: uw-n smartyval sem volt gond, viszont ott pedig folyton logoutolt (session probléma).
(#4061) biker: thx
-
biker
nagyúr
nem, úgy értettem, hogy van egy kép, ami persze szögletes.
ezt feltöltéskor
-átméretezni adott méretre
- körbevágni 1:1 arányú négyzetté, eddig ok, és ennek egy adott méretű közepe kerek kivágással lenne a kép
- aminek fehér 5px-es kerete van
- és nincs egyéb háttere, mert egyébként a szögletes keret szarulnézki de nagyonezek a kerek képek kerülnének fel kisképként az oldalra.
És itt ne legyen már vita tárgya, hogy mi a transzparens png, hogy az 0%alpha vagy transzparens, mert ez itt kb irreleváns.
értem én, hogy hivatalosan "Alpha transparency" a függvény minden rajzprogramban, de nem ez a kérdés lényegehanem hogy megoldható-e ez mind
-
-
DerStauner
senior tag
ok. és a php-hez kell weblapszerkesztési ismeret?
szóval hogy is képzeljem el az egészet?
csinálok egy weblapot valamilyen weblapszerkesztővel, rápakolok vezérlőelemeket (gombok, táblák, szövegdobozok, linkek, stb), és a weblapszerkesztőben pl a gombok mögé írom a php kódot? és a php kódban kapcsolódok a mysql adatbázishoz? a mysql adatbázis feltételezem, hogy a php szerveren van, ugye?
azért ilyen sok a kérdésem, mert mint írtam, sosem csináltam még ilyet, de nagyon szeretném.
-
DerStauner
senior tag
-
Sk8erPeter
nagyúr
"(Már végigzongoráztam párszor az apache-php-mysql telepítést külön-külön, mindent beállítva, nekem ennyi elég is volt belőle, ezért kerestem olyan csomagot, ami megcsinálja helyettem)"
Én is ugyanezen okból kezdtem el használni a WAMP-ot... Franc fog szarakodni minden újratelepítésnél.A "WAMP saját szemete" nem hinném, hogy túl sok kárt okozna a gépben, nem fosta tele a registry-t sem, azért szerintem ezt nem kell ennyire túlparázni, ráadásul azért is előnyös a WAMP egy kezdő számára (is), mert nem szöveges fájlokban kell kutakodni a megfelelő beállítások után, hanem van egy kellemes grafikus felület a Tálcán, ahol eléred az Apache, a MySQL és a PHP beállításait is.
Az Appserv-et még nem próbáltam, de az alapján, amit elmondtál, meg az alapján, amit a honlapján látok, ehhez nincs ilyen könnyen elérhető és kezelhető grafikus felület.
Nem értem, a WAMP miért lenne rosszabb az Appserv-nél, a WAMP is ugyanúgy az éles környezetet pakolja fel, csak biztosít hozzá még egy plusz felületet, amin a beállítások elérhetők. -
biker
nagyúr
az lehet, de mikor egy fileon belül van 4-6-több lekérdezés, és mindig minden lekérdezésnél $res-van, akkor az nehezen követhető, szerintem. vagy az én agyam rossz
(arról nem beszélve, hogy újrahasznosítás esetén pl első lekérdezés lefut, ok, második valami hiba miatt találat nélkül tér vissza, akkor ha nem nyírtad ki az előző $res-t, akkor kiprintelheti annak a tartalmát, ha a mezőnevek passzolnak, vagy nem is mezőnév alapján íratja ki, csak ciklusban)
ez nem a 64k contest, hogy spóroljunk -
biker
nagyúr
nem konkrétan ebből élek, de a bevétel egy részét ez teszi ki, ámbár sosem tanultam ezt iskolában.
és nem adok ki (szerintem)szemét kódot a kezemből.
nem csinálok olyan többnyelvű cms rendszeres rendszert, ahol a szöveg egy részét benne felejtem a forrásbannem használok egybetűs változókat, és el tudok képzelni olyan for ciklust, ahol nem $i a változó
sok hiányosságom van, de segítettem már sokaknak ezzel a tudással is (akik ma ebből élnek már)
számomra egy query eredménye lehet más is, mint $res, és ennek egy sora sem $rec lehet csak
kb ennyi -
Sk8erPeter
nagyúr
Értem én, csak szerintem hülyén tettem fel a kérdéseket.
Úgy tanul a gyerek, ha kérdez.
Egyébként minden témával kapcsolatos hozzászólásoddal inspirációt adtál a saját megoldásomhoz, ezért is kérdezősködtem.
Köszönöm a példát és a válaszaidat, azt hiszem, menni fog.
Persze lehet, hogy még felteszek majd pár kérdést, ha időközben felmerül. -
Sk8erPeter
nagyúr
Áháá, már kezdem kapiskálni.
"Nyilván ekkor kézzel kell hozzáadni a lehetséges nyelveket"
Ez volt a kulcsmondat...Eddig nem igazán értettem, hogy ha nem adatbázisból szeded, akkor mégis honnan, ha csak egy osztályod van... Rögtön gondoltam, hogy valami ilyesmi megoldás, de az elmondásodból először úgy tűnt, hogy mégsem.
Így viszont pont a rugalmasságát veszti el a dolog, ha kézzel kell hozzáadni, nem?
És a gyakorlatban ezt a kézzel való hozzáadást hogy kell elképzelni? -
biker
nagyúr
(De komolyan, nem hiszem, hogy van még egy olyan programozási nyelv, amelyből ennyire sok fogalmatlan hülye képes megélni)
nem vagyok fogalmatlan hülye, de nem is ezt tanultam
gyakorlatilag egy jó alappal (12 évesen BASIC-eztem) tökéletesen el lehet lenni. mondjuk emiatt a múlt miatt nehéz az OOP-re állni, mert jobb szeretem a folyamatában végbemenő rendszereket, mint a függvények hívogatását. de ez van.pl jobb szeretem a funkciókat kis php filokba rakni, és azt hívni meg, pl login.php stb, mint egy fileba tenni és ott keresgélni, hol a login rész
pl egy programozó, aki egy fejlesztő cégnél dolgozik, csinálta ezt, amivel szívtam egy mezei költözésnél:
- index.php meghívja a mysql_class.php filet, meg a config.php filet, majd ha nem vagy belépve, akkor header: location index.php?c=login
- ha index.php rendszerben c=login, akkor beincludeolja a login.php-t, amiben a form van, ami meghívja az index.php-t, ami utána ismét újratölti magát, ha bléptél.namost ettől kétszer került végtelen ciklusba, egyszer a register globals miatt, mert a C-nek sose lett értéke, másrészt a belépéskor a sesion start elfelejtése miatt
másrészt, miért épp $c a változó? sose tudjuk meg...
áll a rendszer 10fileból, fileonként átlag 4-5 kereszt includeolással, és 5-6 header: locaton átirányítással.
ja, és az oldal iso-8859-2 kódolással készült, erre elküldi az sql-dump-ot úgy, hogy minden sor végén ott: default charset=latin1, és UTF-8 ékezetes karakterek vannak benne.
királyság, ezt is átírtam, és már jó is. -
Sk8erPeter
nagyúr
Mondjuk ha valaki ilyen gyökérségeket csinál, hogy kétbetűs változóneveket ad meg, és még csak nem is kommentezi, vagyis később már ő maga sem fogja érteni a saját kódját, akkor ilyen merényleteket akár más nyelveken is elkövethet.
Amúgy tényleg meglepő, mennyire egyszerűen össze lehet hozni PHP-vel "működő" kódokat, és most, hogy kicsit már talán jobban megy a PHP-zás, mint az elején, rossz visszanézni, miket műveltem eleinte, amikor elkezdtem tanulni a nyelvet, és még mindig nem tudok az egészről semmit.
Mondjuk sokan vannak, akik már egy for ciklustól profinak érzik magukat. Ezzel szemben viszont: "An expert is someone who knows more and more about less and less, until eventually he knows everything about nothing." -
Sk8erPeter
nagyúr
Köszi a példát, még mindenképp tanulmányozni fogom, ha kicsit kiismertem az OOP-t.
Egyébként egész érthetőnek tűnik.
De azért még megkérdezem:
$lang_object->add_language(1,'en');
$lang_object->add_language(2,'hu');
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? -
Sk8erPeter
nagyúr
"A nyelvek kezelését egy nyelvkezelő osztállyal oldom meg, amely a konstruktorában betölti a rendszerben található összes nyelvet."
És ez hogyan történik? Nem úgyszintén adatbázisból való lekérdezés segítségével? Mivel most nem arról az esetről beszélünk, hogy fájlban tárolod ezeket az elemeket, ezért máshogy nem tudom elképzelni ennek a megvalósítását, mint ugyanúgy adatbázisból való lekéréssel - de szólj, ha valami más módszer van rá... -, ebben az esetben meg nem nagyon értem, miért lenne "rosszabb" egy joinolás.
Mondjuk C-ben esetleg valami struktúrában tárolnám el pointerekkel és egyéb mókák segítségével az egyszer már megkapott adatokat, rendezve, és ahhoz nyúlkálnék, de itt egyelőre nem tudom elképzelni a megfelelő megoldást, ha az nem lekérdezés.
Ismét csak azért kérdezem, mert ennek a gyakorlati megvalósítására még elég kevés példát láttam osztályokkal (mondom, az OOP-t még csak most fogom tanulni), nem azért, mert "nem tanították az iskolában"...Amiket még írtál, nagyon jó és megfontolandó. Már ebből is látszik, mire jó az OOP-szemlélet.
Köszi.
-
tildy
nagyúr
Designer többféle lehet:
van, aki csak a pshez ért.
Meg van, aki a HTMlhez, CSShez is.
Volt kollegám ez utóbbi volt , és maximálisan tisztelema pontatlan doksi és a menet közben történt változások folyamatos programozó-dizájner kommunikációt igényelnek, tesztelésnél várni kell a másikra
van doksi, illetve ha változtatok valamit , igen ha olyan a változás kell a kommunikáció. Alapesetben elég ha én adom az adatot, és ő kreál hozzá templatet, vagy ő kreál templatet, majd én meg belerakom az adatot, HTMLhez meg értek én is valamennyire, csak végszükség esetén van másra szükségem.Arra jó az egész, hogy ne legyen a HTML kód phpval teliszórva, illetve fordítva, a php ne legyen htmlel teliszórva.
A sablon, ha XMl alapú, ha bármi el van romolva , akkor vagy a benne lévő szöveget irja ki, vagy tök üres marad a XML element rész és nem is jelenik meg.Menüszerkesztésnél a júzer nem tudja, hogy mit ír át. Kap egy felületet színes gombokkal, amivel tudja szerkeszteni a menüjét. Az az én dolgom, hogy a változtatásokat file-ban vagy adatbázisban tárolom.
Ha igy csinalod es a menu nincs db-ben, akkor hogy rendelsz hozza egy menuponthoz pl 10 cikket???? pl. ha ajanlani akarsz valamit?
Ja , inkább priv.
-
tildy
nagyúr
Miért haszontalan? A designernek elég a html kódhoz érteni.
Az adatot meg megkapja.
A smartyt nem annyira ismerem, de kétféle template enginet használtam:
Egyikben preg_replaceltem egy megfelelő kódot, nem összefosva volt a php kóddal , a másikban meg XML tageket cseréltem, pl:
<#module blabla, parameterek, feltetelek#>
vagy
<#for :konyvek :less:10#>
<tr><td>konyvek.nev</td><td>konyvek.szerzo</td></tr>
<#/for#><Modulenev>parameterek</Modulenev>
Ezt egy "designer" sokkal jobban tudja kezelni. , mintha teli van nyomva phpval.[ Módosította: ollie ]
-
tildy
nagyúr
Azon gondolkodtam a templateengine amit hasznltunk, illetve amit írok anélkül mvc, hogy tudnám jobban mi az mvc, és csak nem is oop.
Külön van a megjelenítésért felelős kód, a template-ben csak xml-ek vannak, php nincs, és egyéb dolgokat a php modulok végzik.
Írnál az mvcről még? -
Sk8erPeter
nagyúr
"Az iskolában nem tanították, hogy hogyan kell gráfokat és azon belül fákat reprezentálni?"
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. Nyilván az egyetemen vagy máshol tanított elméletet csak akkor tudod összekapcsolni a gyakorlattal, ha erre szolgáló feladatot minimum egyszer megoldottál. Az meg még akkor sem biztos, hogy elsőre eszedbe jut, amikor az triviális. Jó, most mondhatod, hogy de neked igenis elsőre eszedbe jutott, de talán ne hasonlítsuk össze a Te webfejlesztésben és programozásban szerzett tapasztalatodat az enyémmel, ahhoz képest én valszeg csúfosan le vagyok maradva...
Szóval érted, ha már akár egyszer láttam olyan megoldást, ahol végre azt érezhetem, hogy az egyetemen vagy akárhol oktatott elméleti dolgok közül tudom hasznosítani a tudást, akkor a homlokomra csapva mondhatom azt, hogy "nahát, akkor ezt az elméleti hátteret erre a feladatra is le lehet képezni!" És onnantól könnyebben megy."Pedig eddig is erről volt szó."
Valóban..."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?"
Ismét kötekedés...de inkább elengedem a fülem/szemem mellett...
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? De persze rájöttem, hogy csak simán azonosítószám alapján kérdezel, én meg úgy gondoltam, hogy név (hu, en, de, es, stb.) alapján kissé könnyebb beazonosítani adott nyelvet..."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."
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. Mondjuk ha úgy van megoldva a dolog, hogy ne legyen benne HTML, hanem mondjuk csak soronként elválasztva a menüpontok, behúzással az almenüpontok, a menüpontokhoz tartozó tartalom meg különálló fájlokban, csupán a fő szövege, vagy valami más megoldással kerülik el a gányolás lehetőségét, akkor ilyen para nincs, de akkor meg már iszonyat macerásnak látszik az egész.
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. Persze azt is alá lehet támasztani, hogy miért ne, ha akarjuk, de minek. -
Sk8erPeter
nagyúr
Ismét köszönöm az alapos választ.
A DBDesigner-t majd kipróbálom.
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?Na, ez az MVC-szerkezet egyelőre kicsit magas, de remélhetőleg előbb-utóbb csak utána tudok már olvasni, ha lesz rá időm... Amúgy most olvasgatom a PHP fejlesztés felsőfokon c. könyvet, eddig nagyon alapos és hasznos olvasmánynak találom.
"(Tehát a struktúrád működjön tetszőleges számú nyelv esetén)"
Így lesz, mindenképp ki fogom javítani.A menu_content táblában úgy látom, hogy a táblázat mezői közé tartozik a language_id és a menu_id is. 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.
Akkor már nem lenne esetleg jobb/szebb megoldás egy külön összekapcsoló táblát létrehozni erre a célra? Ezt most nem kötekedésként kérdezem, hanem mert érdekelne."Nagyjából ugyanolyan gyors lesz."
Tényleg? Mert ez esetben viszont egyértelmű, hogy az adatbázisban való tárolásnál maradnék, az legalább könnyen és rugalmasan kezelhető, módosítható, különböző szempontok szerint egészíthető ki, nem macerás a jogosultságok beállítása sem, míg mindez a fájlkezelésről azért nem mondható el! 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. -
tildy
nagyúr
Bebizony. Kozben inkabb ujrahuztuk a php-t , most mar legalabb ha kozvetve adjuk meg a filenevet, akkor behozza, csak akkor dobja az emlitett hibat, ha http://localhost-ot kap.
Pedig be van irva:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/PHP5/"
LoadModule php5_module "C:/PHP5/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
<VirtualHost *>
ServerName localhost
DocumentRoot "D:\ildiko\hiddenart\hiddenartshop.com\www"
<Directory "D:\ildiko\hiddenart\hiddenartshop.com\www">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>No, mivel ujra lett rakva, kikerult a AddType application/x-httpd-php .php (elotte benne volt, de ugy sem ment...) na es msot vegre megy.
Huh.
-
Sk8erPeter
nagyúr
Hali!
Bocsi, hogy csak most tudok válaszolni, és köszi a válaszodat!A táblakapcsolásokról a képet, amit betettél, milyen programmal generáltad?
"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. "
Hmm, hogy érted, hogy magára mutat? Mármint ezt MySQL-utasítások tekintetében hogy kellene elképzelni?"A controller mezőben azt tárolom, hogy a menüponthoz milyen tartalom tartozik."
Ez igazából csak egy felsorolás, vagy egyfajta leírás magadnak, hogy mi van benne? Vagy ez az oldalon konkrétan meg is jelenik? Ez számomra most nem teljesen egyértelmű."A menu_content táblában a menüponthoz tartozó szöveges tartalom található."
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. Egyébként egy oldalamon így csináltam, és elég jól működik.
Csak ott még nem túl elegánsan, kezdőként úgy oldottam meg, hogy a következő az adattábla szerkezete:
tart_id | menupont | tartalma_hun | tartalma_eng | tartalma_pol | tartalma_rus | datum
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. Ettől függetlenül jól működik, csak szerintem át fogom variálni, mert így szerintem hosszabb a lekérdezés ideje, amiatt, hogy olyan információ is hozzátartozik a lekérdezéshez, ami abban az esetben teljesen érdektelen (nyilván egyszerre csak egy nyelv szerint kérdezek le).Az az "url" mező mire kell? Hogy tudj a címre önhivatkozó linket készíteni?
A megoldásod, azonbelül a táblaszerkezet és a fa osztály is nagyon okos és rugalmas megoldás. Én egyelőre csak most fogom elkezdeni tanulni az OOP-t a C++-szal, szóval ez a megoldás még kicsit magas nekem, de majd ha eljutok odáig, biztosan így fogom csinálni.
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 -, mert a tartalom várhatóan elég ritkán fog változni, így valószínűleg gyorsabb lenne a megjelenítés.
-------------------------------------------------------------------------------------------------------------------------------
(#3949) Tele von Zsinór: neked is köszi a választ.
Igen, a legutolsó módosítás adatai jelen esetben bőven elég.Verziókövetésre jelen esetben nincs szükség, mert viszonylag kevés tartalom lesz az oldalon, nővérem fotózik, és a képei megmutatására készül az oldal (szerencsére a kép feltöltése, akár több kategóriához rendelése, hozzátartozó címek megadása különböző nyelveken, módosítások, törlések, hozzátartozó kapcsolótáblák és egyéb, rendkívül időigényes mókákat már sikerült megírnom).
Hát igen, a menü viszonylag statikus lenne.
De gondoltam már arra is, hogy hozzád hasonlóan egyszerűen úgy töltögetem fel, hogy
1 | en | tartalom | dátum
1 | hu | tartalom | dátum
és így tovább...
De az is jó megoldás, amit cucka mutatott, hogy a nyelv tábla külön lenne, azok megfelelő azonosítóival, hiszen a nyelv tábla esetleg több helyen is kellhet. -
lamajoe
tag
Így utólag belegondoltam, az tényleg rossz példa volt. Sokkal inkább maffiozó szerűre gondoltam, az nem tűnik profi oldalnak. Amúgy ilyen sokéves projektnek gondoltam, úgy talán még lesz is belőle valami
Tehát, hogy mindig "szépítgetem" kicsit.
Egyébként milyen kisebb projektekre gondolsz? Adhatnál pár tippet a jövőt illetően
Engem bármi érdekel ami kicsit a fantáziát is megmozgatja.
-
lamajoe
tag
Nem azért akartam felvenni valakit MSN-re, hogy a mentorom legyen, hanem, hogy 1-2 naponta ha elakadok akkor 2 percet szánjon rám, hogy meg tudja válaszolni a kérdésem.
Bocs, ha a class nem az aminek írtam, valahogy nem érzem a fontosságát annak, hogy a classt a saját fejemben parancsnak vagy kulcsszónak írom le
Nekem class és kész. Nem tanítani készülök, és egyelőre nem memorizálni akarom a dolgokat hanem megérteni. Könyvekből tanulok, és a könyvekben bármikor vissza tudok lapozni ha nem emlékszem valamire. Mindenesetre ennyiből, amit írtál, már sokkal tisztább az egész.
Köszi
-
-
brunzwik
csendes tag
-
dany27
őstag
áááá ez volt az utolsó gondolatom, de aztán lebeszéltek róla h a kis meg a nagybatű nem számít. Ezek szerint akkor igen is hogy számít!
Am ez miatt lehet az hogy nem "létezett" ez a funkció?? Mert beépítettem már utolsó lehetőségként egy elágazást amiben az function_exsists függvény ellenőrzi hogy létezik e a funkció. És ez is azt adta vissza hogy nincs!
Kössz!
-
vakondka
őstag
Az aptana biztosan érdekes,de nem lehet letölteni, állandóan leáll a letöltés...
Alapvetően a "mit változtattam" és "mit kell változtatni" típusú dolgokat kellene kezelni
és sokszor 1-1 (félkész) scriptet is csatolnék hozzá, ezt valahogyan nem tudom elképzeni excelben, hogy átlátható maradjonÚgy láttam, hogy esetleg a Netbeans is valami hasonlót tud...?
-
Sk8erPeter
nagyúr
Hát igen, de végül is minden nyelvben lehet ronda, de működő kódot írni.
Azt még nem tudom, fogok-e valaha Perllel foglalkozni, vagy inkább érdemes-e megtanulni. Annyi nyelv van még, amire tuti, hogy szükség van...
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.
-
Sk8erPeter
nagyúr
"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."
Én ilyet sehol nem állítottam, és még csak nem is gondoltam... Persze lehet, hogy így tűnt abból, hogy jelen esetben a honlapszerkesztésre koncentráltam, mivel a srác korábbi hozzászólásaiból ítélve azt mertem feltételezni, hogy weblap készítésén munkálkodik. Ha nem így van, majd ő megmondja."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."
És mi a gáz a Perl-lel?A válaszokat egyébként köszönöm.
-
Sk8erPeter
nagyúr
Hát ezt tudom, csak érdeklődtem, mert a legtöbb tárhely-szolgáltató biztosít MySQL-hozzáférést, ezért én eddig nem éreztem szükségét az SQLite-nak.
Mik a pro/contra érvek az SQLite mellett/ellen?
Eddig csak annyi érvet tudnék mellette felsorakoztatni, hogy talán épp amiatt, hogy lokálisan tárolódnak az adattáblák, ezért kisebb hálózati forgalmat generál, ezáltal gyorsabb lehet. De tudtommal nagyobb forgalmat már nem képes lebonyolítani. Többek közt azért, mert egyszerre csak egy felhasználó írhatja az adatbázist.
Biztonsági és egyéb szempontok?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?
-
Louloudaki
aktív tag
egy többmillió rekordos adatbázisban kb mennyire lesz gyors ha megfelelően van indexelve? kíváncsiságból kérdem. meg ezt az n bites dolgot hogy gondolod? vegyük azt, hogy alma, abban van a,l,m amit figyelembe kell venni, de mi van a hosszabb szavakkal? pl egy többszörösen összetettel?
-
Sk8erPeter
nagyúr
Valóban rosszul tettem fel a kérdést, nyilván számít, hogy milyen típus. Egyelőre mindegyik mezőnek TEXT típust adtam meg, itt nem kell méretkorlátot megadni, és valszeg biztos belefér. Kivéve persze az azonosítószámot tartalmazó mezőt, ahol int típust adtam meg. Persze a dátumnál lehet, hogy DATE típust kellett volna megadni, stb., de ott valszeg figyelni kellett volna a formátumra, sajna nem volt időm utánanézni. Csak gondoltam hátha van valami javaslatod az egyes mezőtípusokra ebben a konkrét esetben.
(#3629): "A másik, hogy ha nem igényelsz (pénzért) egy hitelesített cert-et, akkor inkább csak bosszantó lesz az egész a felhasználónak."
Tanúsíthatom, egyes BME-s oldalaknál rohadt idegesítő a nem hitelesített tanúsítvány meg a https-es forma, statikus tartalmaknál (órarendek, tárgyi adatlapok, stb.) nem is értem, minek ragaszkodnak annyira hozzá...(meg ez is egy példa, ahol mondjuk változó a tartalom, de nem értem, miért muszáj hozzá https)
Új hozzászólás Aktív témák
Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen házat vegyek?
- OLED, Mini-LED, IPS, VA, TN - melyik panelt válaszd 2025-ben?
- Windows 7
- Gumi és felni topik
- PlayStation 5
- Subaru topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- exHWSW - Értünk mindenhez IS
- Ubuntu Linux
- További aktív témák...
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Sony FE 28-70 mm F3.5-5.6 OSS
- PS5 Slim Disc 1TB 2026.10.08 GARANCIA
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 64GB SSD I 11,6" HD I Cam I W11 I Garancia!
- Csere-Beszámítás! MSI Gaming X RTX 4060Ti 16GB GDRR6 Videokártya!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6600 8GB GAMER PC termékbeszámítással
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB 500GB Radeon Pro 5500M hibátlan működéssel
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- ÁRGARANCIA! Épített KomPhone Intel i9 14900KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest