- Fórumok
- Szoftverfejlesztés
- PHP programozás
- (kiemelt téma)
-
7600 - 7501
21809 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 9901 9900 - 9801 9800 - 9701 9700 - 9601 9600 - 9501 9500 - 9401 9400 - 9301 9300 - 9201 9200 - 9101 9100 - 9001 9000 - 8901 8900 - 8801 8800 - 8701 8700 - 8601 8600 - 8501 8500 - 8401 8400 - 8301 8300 - 8201 8200 - 8101 8100 - 8001 8000 - 7901 7900 - 7801 7800 - 7701 7700 - 7601 7600 - 7501 7500 - 7401 7400 - 7301 7300 - 7201 7200 - 7101 7100 - 7001 7000 - 6901 6900 - 6801 6800 - 6701 6700 - 6601 6600 - 6501 6500 - 6401 6400 - 6301 6300 - 6201 6200 - 6101 6100 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Speeedfire
félisten
-
lafaty80
addikt
Nem is rossz ötlet.

==
Más:
ez nem is egy túl komplex lekérdezés (meg gondolom csak valami szemléltető példa, nem?), az a durva, amikor valaki többszáz soros lekérdezésekkel bíbelődik
===
(#7595) lafaty80 : ennek örülök, mondjuk gondolom az én hozzászólásomtól függetlenül csináltad, de akkor végül beigazolódott, amit az utóbbi két linkben írtak, hogy a dll kicserélése megoldja.
Nincs mit!Igazából bevallom a te ötleted alapján csináltam, mert én csak az sql-es dll-eket cseréltem

-
letix
senior tag
Akkor pedig marad az amit fentebb írtak. Sql.
Csinálsz egy táblát statisztika szerint. Lesz benne egy oszlop amiben el lesznek tárolva a számok, mondjuk szamok néven, int tipussal, szerintem itt felesleges lenne egy id.
Majd írni az oldalra egy olyan kódot ami lekéri ennek a számnak az értékét és vissza ír egyet. Bár lehet, hogy egy parancsban is meglehet oldani, ebben nem vagyok biztos.
De szerintem vannak előre megírt scriptek is erre, ha nincs akkor meg segítünk ezt megírni.

Tisztelt Sk8erPeter, Speeedfire!
Este áttanulmányozom a hozzászólásaitokat, és nekiállok!
Köszönöm szépen a segítő készségeteket és az időtöket!
udv
letix -
Speeedfire
félisten
Nem is rossz ötlet.

==
Más:
ez nem is egy túl komplex lekérdezés (meg gondolom csak valami szemléltető példa, nem?), az a durva, amikor valaki többszáz soros lekérdezésekkel bíbelődik
===
(#7595) lafaty80 : ennek örülök, mondjuk gondolom az én hozzászólásomtól függetlenül csináltad, de akkor végül beigazolódott, amit az utóbbi két linkben írtak, hogy a dll kicserélése megoldja.
Nincs mit!Igen, ez csak egy szemléltető, hogy miket is tud az sql, de nem hinném, hogy sokan használnak ilyen lekérdezéseket. Biztos gyorsabb mintha az adatokat átadnám php-nak majd azzal gondoznám fel, de...
Ennyire nem akarok pro lenni sql-ben.
Nem is rossz ötlet.
Belőled kinézem, hogy megcsináltatnád vele.
-
Sk8erPeter
nagyúr
Tény, hogy nem sok idő, de ha nem fogja kihasználni?

Mert akkor ezek után most ajánlani fogjuk, hogy mentse el az ip-ket és egyéb infókat, majd egy admin felületen csináljon szép grafikonokat belőle js-el.

Más:
Az ilyen jellegű lekérdezések mennyire mindennaposak az adatbázis világában?
Főleg ékezetekkel...with Nemek(FKod, OKod, Nok, Ferfiak) as
(select FKod, OKod,
SUM(case DNemKod when 'N' then 1 end) as Nok,
SUM(case DNemKod when 'F' then 1 end) as Fefriak
from Dolgozók
group by FKod,OKod)
select FKod as Főosztály, OKod as Osztály,
case
when Nok is null then 0
else Nok
end Nők,
case
when Ferfiak is null then 0
else Ferfiak
end Férfiak
from Nemek
order by 1,2
select DAzon, DNev, FKod, OKod, DAlapFiz
from Dolgzók d1
where DAlapfiz < (select AVG(DAlapfiz)
from Dolgzók d2
where d1.FKod = d2.FKod and d1.OKod = d2.OKod)
Order by 3,4Nem is rossz ötlet.

==
Más:
ez nem is egy túl komplex lekérdezés (meg gondolom csak valami szemléltető példa, nem?), az a durva, amikor valaki többszáz soros lekérdezésekkel bíbelődik
===
(#7595) lafaty80 : ennek örülök, mondjuk gondolom az én hozzászólásomtól függetlenül csináltad, de akkor végül beigazolódott, amit az utóbbi két linkben írtak, hogy a dll kicserélése megoldja.
Nincs mit! -
lafaty80
addikt
Itt elég sok ötletelés van az általad bemásolt hibával kapcsolatban: [mssql_connect()], keress rá, igazából sajnos egész pontosan én sem tudom, mi lehet a gond nálad, de remélhetőleg ezek közül valamelyik tanács megoldja. Vagy itt egy dll kicseréléséről beszél: [link], itt szintén: [link].
Majd írj, sikerült-e valamelyik...
Na mindent alapra visszaállítottam, és csak az ntwdblib.dll-t kellett lecserélni. ÉS MEGY

Köszönöm szépen a segítséget.
-
Speeedfire
félisten
"érdemes lenne mellé egy dátum mező és a végén csak szummázni kellene az adatokat."
Pontosan ez a jó megoldás.
Ezerszer jobb, mintha ahhoz hasonló lenne, ahogy most csinálja fájlba írással, hogy mondjuk lenne egy táblája, abban egyetlen mező, és mindig azt update-elgetné... az nagyon gáz. Inkább legyen több(száz)ezer sora, amit század(/ezred)másodpercek alatt megszámol az adatbázisszerver, mint hogy egyetlen mezőbe gányolgasson.
Ráadásul így sokkal bőbeszédűbb az adatnyilvántartása, és nem nagyobb meló megcsinálni (csak kb. 5 perccel
)."Csakhogy ezt a google sokkal szebben megcsinálja."
Na de a JavaScript nem mindenkinél van engedélyezve. Tudom, azok dögöljenek meg.
De ha saját nyilvántartás kell, és tényleg mindenkit (keresőrobotokat, spammereket, stb. is, amiknél mondjuk tényleg nincs engedélyezve a JS) nyilván akar tartani, akkor nem árthat PLUSZBAN egy ilyen megoldás.Tény, hogy nem sok idő, de ha nem fogja kihasználni?

Mert akkor ezek után most ajánlani fogjuk, hogy mentse el az ip-ket és egyéb infókat, majd egy admin felületen csináljon szép grafikonokat belőle js-el.

Más:
Az ilyen jellegű lekérdezések mennyire mindennaposak az adatbázis világában?
Főleg ékezetekkel...with Nemek(FKod, OKod, Nok, Ferfiak) as
(select FKod, OKod,
SUM(case DNemKod when 'N' then 1 end) as Nok,
SUM(case DNemKod when 'F' then 1 end) as Fefriak
from Dolgozók
group by FKod,OKod)
select FKod as Főosztály, OKod as Osztály,
case
when Nok is null then 0
else Nok
end Nők,
case
when Ferfiak is null then 0
else Ferfiak
end Férfiak
from Nemek
order by 1,2
select DAzon, DNev, FKod, OKod, DAlapFiz
from Dolgzók d1
where DAlapfiz < (select AVG(DAlapfiz)
from Dolgzók d2
where d1.FKod = d2.FKod and d1.OKod = d2.OKod)
Order by 3,4 -
Sk8erPeter
nagyúr
De ő csak egy összetett statisztikát szeretne, semmi extra. Egy számot cserélgetne csak, ha meg van már id akkor ahogy írtad lehet érdemes lenne mellé egy dátum mező és a végén csak szummázni kellene az adatokat. Csakhogy ezt a google sokkal szebben megcsinálja.

"érdemes lenne mellé egy dátum mező és a végén csak szummázni kellene az adatokat."
Pontosan ez a jó megoldás.
Ezerszer jobb, mintha ahhoz hasonló lenne, ahogy most csinálja fájlba írással, hogy mondjuk lenne egy táblája, abban egyetlen mező, és mindig azt update-elgetné... az nagyon gáz. Inkább legyen több(száz)ezer sora, amit század(/ezred)másodpercek alatt megszámol az adatbázisszerver, mint hogy egyetlen mezőbe gányolgasson.
Ráadásul így sokkal bőbeszédűbb az adatnyilvántartása, és nem nagyobb meló megcsinálni (csak kb. 5 perccel
)."Csakhogy ezt a google sokkal szebben megcsinálja."
Na de a JavaScript nem mindenkinél van engedélyezve. Tudom, azok dögöljenek meg.
De ha saját nyilvántartás kell, és tényleg mindenkit (keresőrobotokat, spammereket, stb. is, amiknél mondjuk tényleg nincs engedélyezve a JS) nyilván akar tartani, akkor nem árthat PLUSZBAN egy ilyen megoldás. -
Speeedfire
félisten
Az M$ saját bejáratú helpdesk-jénél nem próbálkoztál? Elvileg pont emiatt vannak, ha már fizetsz egy szolgáltatásért akkor van support is. Én biztos ott dörömbölnél már.
-
Sk8erPeter
nagyúr
Itt elég sok ötletelés van az általad bemásolt hibával kapcsolatban: [mssql_connect()], keress rá, igazából sajnos egész pontosan én sem tudom, mi lehet a gond nálad, de remélhetőleg ezek közül valamelyik tanács megoldja. Vagy itt egy dll kicseréléséről beszél: [link], itt szintén: [link].
Majd írj, sikerült-e valamelyik...
-
Speeedfire
félisten
Szia!
Igen, mindenképp működjön SQL-alapokon. A tárhelyszolgáltatók többsége eleve biztosít MySQL-hozzáférést ingyenesen (általában phpMyAdmin-felülettel együtt), nálad van ilyen? (persze jelszóval, felhasználónévvel)
Ha igen, akkor kellene egy `visitors` tábla, auto_increment id-val (melyik sor), látogatási dátumhoz, IP-cím tárolásához tartozó mezővel, esetleg user agent nyilvántartásához tartozó mezővel (most hirtelen más nem jut eszembe). Ez alapján már sok szempont szerint nyilván tudod tartani a látogatóid adatait.
Amikor új látogató érkezik az oldalra, egyszerűen hozzáadsz egy sort ehhez a táblához, eltárolod $_SESSION változóban (session_start() után), hogy az ő látogatási adatai az adott munkamenetre vonatkozóan már el vannak tárolva, aztán az adatbázisban a látogatók táblájában eddig található sorokat összegezve kiíratod, így megtudod, hány látogatód volt eddig.Először derítsd ki, MySQL-adatbáziskapcsolattal rendelkezel-e, aztán segítünk a dolog technikai részében!
Egyébként a korábbi kódodban nem látok sessionben való tárolást, hogy az adott felhasználó "látogatását" legalább a munkamenet erejéig elmentetted, így elméletileg ez alapján minden egyes felhasználói oldalfrissítés növelte a fájlban található változó (látogatottságot mutató szám) értékét. Hacsak nem oldottad meg valami kerülő módszerrel...
===
(#7586) Speeedfire :
"szerintem itt felesleges lenne egy id"
Szerintem meg ritkább az, amikor ne lenne hasznos egy valamilyen szintű egyediséget jelölő id.
Például kapcsolótábláknál nyilván nem feltétlenül kell (bár persze ártani nem használ
), de a látogatók tárolására szolgáló táblákban legyen má'.De ő csak egy összetett statisztikát szeretne, semmi extra. Egy számot cserélgetne csak, ha meg van már id akkor ahogy írtad lehet érdemes lenne mellé egy dátum mező és a végén csak szummázni kellene az adatokat. Csakhogy ezt a google sokkal szebben megcsinálja.

-
lafaty80
addikt
Ja OK, így már világos. Igazából ez volt a lényeg, hogy akkor tök különböző gépeken vannak az adatbázisszerverek, meg az Apache+PHP, és kívülről szeretnél csatlakozni az adatbázisszerverekhez, mindez saját Windows 7-es gépeddel ezek szerint mindkét db-szerverhez teljesen jól sikerül, míg Win2003 R2 SP2 x86 esetén a 64 bites MSSQL-szerverhez nem. De egész konkrétan mi a hibaüzenet, mit kapsz rá? A "nem működik"-nél gondolom kicsit bővebbet.

Összesen ennyi:
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: SERVER001 in sql.php on line 22
Error Read Host connection (ezt már én iratom ki mssql-connect() függvény visszatéréseként) -
Sk8erPeter
nagyúr
SQL-servers:
a., Win2003 R2 SP2 x86 + MS-SQL 2005 SP4 x86
b., Win2003 R2 SP2 x64 + MS-SQL 2005 SP4 x64WEB-server:
1., Win2003 R2 SP2 x86 + Apache 2.x + PHP 5.2.6Gépem:
2., Win7 Prof SP1 x86 + Apache 2.x + PHP 5.2.6Na akkor:
Nálam és a web-serveren ugyanazzal a mappa/konfig beállítással települt az apache és a php (bitre pontosan egyezik minden).A Párosok és működésük (mssql_connect, query):
2-a, 2-b működik
1-a működik
1-b nem működikJa OK, így már világos. Igazából ez volt a lényeg, hogy akkor tök különböző gépeken vannak az adatbázisszerverek, meg az Apache+PHP, és kívülről szeretnél csatlakozni az adatbázisszerverekhez, mindez saját Windows 7-es gépeddel ezek szerint mindkét db-szerverhez teljesen jól sikerül, míg Win2003 R2 SP2 x86 esetén a 64 bites MSSQL-szerverhez nem. De egész konkrétan mi a hibaüzenet, mit kapsz rá? A "nem működik"-nél gondolom kicsit bővebbet.

-
Sk8erPeter
nagyúr
Tisztelt Sk8Peter!
Köszi a javaslatot, megszívlelem.
Egy kis támpontot ha tudnál adni, hogy merre induljak az nagy segítség lenne. Megmondom őszintén ezen a téren nagyon kezdő vagyok.
A szolgáltatómmal valamit esetleg le kellene zsíroznom, vagy magam is össze tudok ilyet ütni PHP-ben? Vagy itt már SQL alapokon illene működnie a dolognak?Köszönöm!
udv
letixSzia!
Igen, mindenképp működjön SQL-alapokon. A tárhelyszolgáltatók többsége eleve biztosít MySQL-hozzáférést ingyenesen (általában phpMyAdmin-felülettel együtt), nálad van ilyen? (persze jelszóval, felhasználónévvel)
Ha igen, akkor kellene egy `visitors` tábla, auto_increment id-val (melyik sor), látogatási dátumhoz, IP-cím tárolásához tartozó mezővel, esetleg user agent nyilvántartásához tartozó mezővel (most hirtelen más nem jut eszembe). Ez alapján már sok szempont szerint nyilván tudod tartani a látogatóid adatait.
Amikor új látogató érkezik az oldalra, egyszerűen hozzáadsz egy sort ehhez a táblához, eltárolod $_SESSION változóban (session_start() után), hogy az ő látogatási adatai az adott munkamenetre vonatkozóan már el vannak tárolva, aztán az adatbázisban a látogatók táblájában eddig található sorokat összegezve kiíratod, így megtudod, hány látogatód volt eddig.Először derítsd ki, MySQL-adatbáziskapcsolattal rendelkezel-e, aztán segítünk a dolog technikai részében!
Egyébként a korábbi kódodban nem látok sessionben való tárolást, hogy az adott felhasználó "látogatását" legalább a munkamenet erejéig elmentetted, így elméletileg ez alapján minden egyes felhasználói oldalfrissítés növelte a fájlban található változó (látogatottságot mutató szám) értékét. Hacsak nem oldottad meg valami kerülő módszerrel...
===
(#7586) Speeedfire :
"szerintem itt felesleges lenne egy id"
Szerintem meg ritkább az, amikor ne lenne hasznos egy valamilyen szintű egyediséget jelölő id.
Például kapcsolótábláknál nyilván nem feltétlenül kell (bár persze ártani nem használ
), de a látogatók tárolására szolgáló táblákban legyen má'. -
Speeedfire
félisten
Akkor pedig marad az amit fentebb írtak. Sql.
Csinálsz egy táblát statisztika szerint. Lesz benne egy oszlop amiben el lesznek tárolva a számok, mondjuk szamok néven, int tipussal, szerintem itt felesleges lenne egy id.
Majd írni az oldalra egy olyan kódot ami lekéri ennek a számnak az értékét és vissza ír egyet. Bár lehet, hogy egy parancsban is meglehet oldani, ebben nem vagyok biztos.
De szerintem vannak előre megírt scriptek is erre, ha nincs akkor meg segítünk ezt megírni.

-
letix
senior tag
Esetleg megfontolandó lenne külső programot használni. Vannak weboldalak amik ilyen látogatottságkijelzéssel foglalkoznak. Csak egy js kód kell a végébe és az automatikusan kiírja és el is küldi az adatbázisnak az adatokat.
Kedves Speeedfire!
Igen, erre már magam is gondoltam, de első körben szeretnék elkerülni mindennemű külsős cuccost. Ha más lehetőség (amit magam is össze tudok ütni) nem lesz, akkor ezt választom.
Köszönöm!
udv
letix -
letix
senior tag
Napi átlag 80-180 látogatónál szerintem már bőven érdemes megfontolni az átállást adatbázisban való nyilvántartásra. Ilyenekre is lehet találni tonnányi kész kódot a neten. Cserébe egy fokkal (inkább sokkal) megbízhatóbb lesz a nyilvántartásod, mint sok-sok fájlba írogatással.
Tisztelt Sk8Peter!
Köszi a javaslatot, megszívlelem.
Egy kis támpontot ha tudnál adni, hogy merre induljak az nagy segítség lenne. Megmondom őszintén ezen a téren nagyon kezdő vagyok.
A szolgáltatómmal valamit esetleg le kellene zsíroznom, vagy magam is össze tudok ilyet ütni PHP-ben? Vagy itt már SQL alapokon illene működnie a dolognak?Köszönöm!
udv
letix -
Speeedfire
félisten
Az a furcsaság a történetben, hogy a weboldal 2008 július óta üzemel, azóta ez _soha_ sem fordult elő (napi átlag 80-180 megjelenítés mellett), most pedig, hogy a számláló megütötte a 12xxxx. megjelenítést, most meg kétszer is előjött.
Mivel úgy látom, hogy a "lock"-olást egy magamfajta laikusnak könnyebb megoldani, így utána járok.
Köszönöm a javaslatot, észrevételt!
Esetleg megfontolandó lenne külső programot használni. Vannak weboldalak amik ilyen látogatottságkijelzéssel foglalkoznak. Csak egy js kód kell a végébe és az automatikusan kiírja és el is küldi az adatbázisnak az adatokat.
-
lafaty80
addikt
Most számomra már nem kicsit zavaros a dolog. Kezdjük elölről. Akkor most hol van a 64 bites MSSQL szerver? Nyilván nem a Win2003 x86-on, nem is a saját Win7 x86-osodon. Akkor hol? Most akkor egy külső adatbázisszervert akarsz elérni saját gépről? Tehát maga az adatbázisszerver fut gond nélkül a saját helyén, de Te kívülről akarsz csatlakozni hozzá? Vagy mi va'? Kicsit egyértelműbben légyszi...
SQL-servers:
a., Win2003 R2 SP2 x86 + MS-SQL 2005 SP4 x86
b., Win2003 R2 SP2 x64 + MS-SQL 2005 SP4 x64WEB-server:
1., Win2003 R2 SP2 x86 + Apache 2.x + PHP 5.2.6Gépem:
2., Win7 Prof SP1 x86 + Apache 2.x + PHP 5.2.6Na akkor:
Nálam és a web-serveren ugyanazzal a mappa/konfig beállítással települt az apache és a php (bitre pontosan egyezik minden).A Párosok és működésük (mssql_connect, query):
2-a, 2-b működik
1-a működik
1-b nem működik -
Sk8erPeter
nagyúr
Az a furcsaság a történetben, hogy a weboldal 2008 július óta üzemel, azóta ez _soha_ sem fordult elő (napi átlag 80-180 megjelenítés mellett), most pedig, hogy a számláló megütötte a 12xxxx. megjelenítést, most meg kétszer is előjött.
Mivel úgy látom, hogy a "lock"-olást egy magamfajta laikusnak könnyebb megoldani, így utána járok.
Köszönöm a javaslatot, észrevételt!
Napi átlag 80-180 látogatónál szerintem már bőven érdemes megfontolni az átállást adatbázisban való nyilvántartásra. Ilyenekre is lehet találni tonnányi kész kódot a neten. Cserébe egy fokkal (inkább sokkal) megbízhatóbb lesz a nyilvántartásod, mint sok-sok fájlba írogatással.
-
Sk8erPeter
nagyúr
Sajnos kötve van a kezem, adott megoldásokkal dolgozhatok a melóhelyen.
Egy win2003x86 SP2-re(hívjuk webszerver-nek) telepített Apache+PHP 5.2.6-at kell dolgoznom. x86-os os MS-SQL szerverekkel nincs gond, x64-es MS-SQL szervert nem érem csak el a webszerverrel. A Saját laptopon lemásoltam az apache+php párost, minden beállítás ugyanaz. Egyetlen különbség, hogy nálam win7x86 prof. SP1, és onnan meg elérem.A loggolás a helytakarékosság matt a legalacsonyabb szinten van. Átállítom, de csak meghatározott időben tudom a folyamatos használat miatt

Most számomra már nem kicsit zavaros a dolog. Kezdjük elölről. Akkor most hol van a 64 bites MSSQL szerver? Nyilván nem a Win2003 x86-on, nem is a saját Win7 x86-osodon. Akkor hol? Most akkor egy külső adatbázisszervert akarsz elérni saját gépről? Tehát maga az adatbázisszerver fut gond nélkül a saját helyén, de Te kívülről akarsz csatlakozni hozzá? Vagy mi va'? Kicsit egyértelműbben légyszi...
-
Sk8erPeter
nagyúr
Ahogy nézem, ez mind csak mysql-t tud, ő pedig mssql-t szeretne - ergo azzal mindenképp szívnia kell, amivel most.
Az pedig más kérdés, hogy éles szerverre ilyen előre összerakott csomagot én biztos nem raknék.
Én egy éles szerverre felraktam a XAMPP-ot, és megfelelően konfiguráltam.
"Részben igen, részben pedig mert ezek fejlesztői gépre kitalált csomagok, ennek megfelelő biztonsági beállításokkal."
Nem igazán értem, miért okozna több kínszenvedést ezeknek a kész csomagoknak az utólagos biztonsági beállítása, mint ha minden egyes összetevőt külön-külön raksz fel? Biztonsági szempontból szerintem pontosan ugyanannyi beállítást igényel mindkét megoldás. Csak annyi különbséggel, hogy ezekben a kész csomagokban ott van az összes általában szükséges dll (ami nincs benne, nyilván ritkábban kell, így külön erőfeszítés), nagy valószínűséggel azok a konfigfájlok is megvannak (legalább félkészen, vagy van benne egy minta), amiket alapvetően neked kéne megírni, beállítgatni egyenként - így meg ott van készen, csak módosítani kell, kevesebb az esély, hogy elcseszed. Ami meg neked nem kell az eredeti fájlokból, egyszerűen kommentezed, vagy törlöd.
Példa: Apache HTTP Servert kellett összehoznom Tomcat szerverrel. Alapból a kettő összehozásához konfigfájlokban való pötyögésre van szükség, sok szerverújraindítgatásra, próbálgatásra, anyázásra (jó, ez igaz, hogy az első igazán jó beállításig tart, amíg már órák árán sikerül megtanulnod, korábban mit kúrtál el), míg ha felraksz egy újabb XAMPP-ot, ott eleve adott a Tomcat "add-on", a megfelelő beállításokkal, meg egy működő mintával, amit már csak saját szád ízére kell átalakítani.
Szóval szerintem mindkét megoldásban oda kell figyelni a biztonsági résekre.
Persze a kész csomagok néha több összetevőt is tartalmazhatnak, mint amire alapvetően szükséged van, ezért azokra az összetevőkre is oda kell figyelni, hogy megfelelően legyenek konfigurálva - vagy egyszerűen kiszedni őket, és kész.Amúgy milyen grafikus felületről beszélünk? A XAMPP és az EasyPHP esetén is van egyetlen külön adminfelület-féleség, amin elindíthatod a service-eket, de ennyi. Meg hát a localhostos próbaoldal, amin csekkolhatod a beállításokat (és nem a default "It works!" felirat fogad), de az nem egy komoly grafikus felület.
-
letix
senior tag
Akkor lehet probléma, ha több felhasználó egyszerre nézi meg az oldaladat, így egyszerre több program próbál beleírni ugyanabba a file-ba. Ezért kell
- adatbázist használni file helyett, ott az ilyen helyzeteket megoldja az adatbázis
- lock-olni a file-t használat előtt majd unlock-olni használat után. Lást flock()Az a furcsaság a történetben, hogy a weboldal 2008 július óta üzemel, azóta ez _soha_ sem fordult elő (napi átlag 80-180 megjelenítés mellett), most pedig, hogy a számláló megütötte a 12xxxx. megjelenítést, most meg kétszer is előjött.
Mivel úgy látom, hogy a "lock"-olást egy magamfajta laikusnak könnyebb megoldani, így utána járok.
Köszönöm a javaslatot, észrevételt!
-
cucka
addikt
Üdv az uraknak!
Egyszerű kérdésem volna, amire én nem igen tudok rájönni.
Adott egy kis saját szórakoztatásomra íródott weboldal, aminek látogatottságát az alábbi php kód számlálja.:
Látogatók: <?php
$File= 'counter.txt';if (file_exists($File)){
$fp = fopen($File,"r");
$num = fread($fp, filesize($File));
fclose($fp);$num=$num+1;
$fp = fopen($File,"w");
fwrite($fp, $num, 10);
fclose($fp);
echo('<b>'.chop($num).'</b>');
}
?> 2008.07.14-tőlA PHP-hoz nem értek, ezt a kódot a netról ollóztam.
Az érdekesség, hogy 126000 környékén járt a counter.txt, amikor is azt vettem észre, hogy 300 körülire leesett. (ez már másodjára történik meg, manuálisan visszaütöttem saccra.)
Mi lehet a probléma okozója?
Mint teljesen laikus, én arra gondoltam, hogy a változó $num mely az aktuális értéket tárolja, lehet hogy olyan típusú változó, mely nem képest nagyobb értéket fölvenni?
A counter-be fölvettem egy sokkal nagyobb számot, ami szépen az oldalon meg is jelent, tehát a fentebb írott ötletelés nem helytálló.A kód tiszta, a kiszolgáló fizetős, azt mondják nincs náluk gond, és tiszta a gép is ahonnan hozzáférek.
Köszönöm előre is az ötleteket!
udv
letixAkkor lehet probléma, ha több felhasználó egyszerre nézi meg az oldaladat, így egyszerre több program próbál beleírni ugyanabba a file-ba. Ezért kell
- adatbázist használni file helyett, ott az ilyen helyzeteket megoldja az adatbázis
- lock-olni a file-t használat előtt majd unlock-olni használat után. Lást flock() -
letix
senior tag
Üdv az uraknak!
Egyszerű kérdésem volna, amire én nem igen tudok rájönni.
Adott egy kis saját szórakoztatásomra íródott weboldal, aminek látogatottságát az alábbi php kód számlálja.:
Látogatók: <?php
$File= 'counter.txt';if (file_exists($File)){
$fp = fopen($File,"r");
$num = fread($fp, filesize($File));
fclose($fp);$num=$num+1;
$fp = fopen($File,"w");
fwrite($fp, $num, 10);
fclose($fp);
echo('<b>'.chop($num).'</b>');
}
?> 2008.07.14-tőlA PHP-hoz nem értek, ezt a kódot a netról ollóztam.
Az érdekesség, hogy 126000 környékén járt a counter.txt, amikor is azt vettem észre, hogy 300 körülire leesett. (ez már másodjára történik meg, manuálisan visszaütöttem saccra.)
Mi lehet a probléma okozója?
Mint teljesen laikus, én arra gondoltam, hogy a változó $num mely az aktuális értéket tárolja, lehet hogy olyan típusú változó, mely nem képest nagyobb értéket fölvenni?
A counter-be fölvettem egy sokkal nagyobb számot, ami szépen az oldalon meg is jelent, tehát a fentebb írott ötletelés nem helytálló.A kód tiszta, a kiszolgáló fizetős, azt mondják nincs náluk gond, és tiszta a gép is ahonnan hozzáférek.
Köszönöm előre is az ötleteket!
udv
letix -
Tele von Zsinór
őstag
Miért nem raknál? Grafikus felület miatt?
Részben igen, részben pedig mert ezek fejlesztői gépre kitalált csomagok, ennek megfelelő biztonsági beállításokkal. Persze ezt is meg lehet masszírozni, hogy jó legyen, de nekem eddig egyszerűbb volt kézzel összerakni a dolgokat.
-
Brown ügynök
senior tag
Ahogy nézem, ez mind csak mysql-t tud, ő pedig mssql-t szeretne - ergo azzal mindenképp szívnia kell, amivel most.
Az pedig más kérdés, hogy éles szerverre ilyen előre összerakott csomagot én biztos nem raknék.
Miért nem raknál? Grafikus felület miatt?
-
lafaty80
addikt
1.) Néztél error logot? (webszerver logját, PHP logját, stb.)
2.) *nts_vc6 - ez a verzió tuti stimmel?
3.) Különben mi a célod? 32 bites oprendszeren használni Apache-ot, PHP-t, MSSQL-t, és ennyi?
Kész, külön konfigurációs lépéseket és időelb@szásokat nem igénylő megoldásokat, mint az EasyPHP, AppServ, XAMPP, próbáltál már?Sajnos kötve van a kezem, adott megoldásokkal dolgozhatok a melóhelyen.
Egy win2003x86 SP2-re(hívjuk webszerver-nek) telepített Apache+PHP 5.2.6-at kell dolgoznom. x86-os os MS-SQL szerverekkel nincs gond, x64-es MS-SQL szervert nem érem csak el a webszerverrel. A Saját laptopon lemásoltam az apache+php párost, minden beállítás ugyanaz. Egyetlen különbség, hogy nálam win7x86 prof. SP1, és onnan meg elérem.A loggolás a helytakarékosság matt a legalacsonyabb szinten van. Átállítom, de csak meghatározott időben tudom a folyamatos használat miatt

-
Tele von Zsinór
őstag
1.) Néztél error logot? (webszerver logját, PHP logját, stb.)
2.) *nts_vc6 - ez a verzió tuti stimmel?
3.) Különben mi a célod? 32 bites oprendszeren használni Apache-ot, PHP-t, MSSQL-t, és ennyi?
Kész, külön konfigurációs lépéseket és időelb@szásokat nem igénylő megoldásokat, mint az EasyPHP, AppServ, XAMPP, próbáltál már?Ahogy nézem, ez mind csak mysql-t tud, ő pedig mssql-t szeretne - ergo azzal mindenképp szívnia kell, amivel most.
Az pedig más kérdés, hogy éles szerverre ilyen előre összerakott csomagot én biztos nem raknék.
-
Sk8erPeter
nagyúr
1.) Néztél error logot? (webszerver logját, PHP logját, stb.)
2.) *nts_vc6 - ez a verzió tuti stimmel?
3.) Különben mi a célod? 32 bites oprendszeren használni Apache-ot, PHP-t, MSSQL-t, és ennyi?
Kész, külön konfigurációs lépéseket és időelb@szásokat nem igénylő megoldásokat, mint az EasyPHP, AppServ, XAMPP, próbáltál már? -
Sk8erPeter
nagyúr
"ez miatt"
Az mit jelent?![;]](//cdn.rios.hu/dl/s/v1.gif)
Egyáltalán be van állítva a $_GET['hash']? Ha nincs, akkor nem csinál lószart se. De legalább az else ágat is kezelnéd... vagy épp dobnál egy exceptiont, ha nincs beállítva, vagy bármi egyéb, ennél ezerszer szebb megoldás is jobb lenne.
Amúgy fontold meg, amit a többiek írtak (nem ismétlem őket), hogy ne gány megoldást készíts.
Igazából ezzel a megoldással teljesen feleslegesen raktad objektumba, úgy akarod használni, mintha egy sima statikus függvényt meghívnál, és kész.
Ha nem lesz több metódusod, nyilvántartani való tagváltozód benne, akkor tökéletesen felesleges emiatt objektumot példányosítanod, ne gondold, hogy attól szebb lesz a megoldásod. Hangsúlyozom, ebben az esetben. Akkor már szebb, ha többször is hozzá akarsz mondjuk nyúlni egy eltárolt változóhoz, és ezt burkolni szeretnéd, vagy több metódust is meghívnál egyetlen összetartozó feladaton belül, és a többi, amit az ember tanul, amikor az objektumorientáltság előnyeit tanulja (hadd ne soroljam fel)...
-
fordfairlane
veterán
class Hitelesit
{
private $hash, $select, $res ='';
private $hitelesit;
public function Hitelesit()
{
if(isset($_GET["hash"]))
{
$hash=$_GET["hash"];
$select = "select hash from users where checked=0 and hash='".$hash."'";
$res = mysql_query($select);
if (mysql_num_rows($res) == 1)
{
$update = "update users set checked=1 where hash='".$hash."'";
$res = mysql_query($update);
echo "Frissites sikerült";
}
else
{
echo "Nem találtunk aktiválni való felhasználót!"
}
}
}
}
if(isset($_GET["mail"]))
{
$hitelesit = new Hitelesit();
}
else
{
echo "asdf";
}Ez mért nem akar működni? Csak egy üres képernyőt képet kapok...
Ránézésre jó. Adatbáziskapcsolat él a konstruktor hívásakor?
És ez miatt lehet lehalhat az objektum?
Nem halhat le emiatt. Adatbázis kezelési probléma lehet, valószínűleg azért nem kapsz hibaüzenetet.
-
Tele von Zsinór
őstag
class Hitelesit
{
private $hash, $select, $res ='';
private $hitelesit;
public function Hitelesit()
{
if(isset($_GET["hash"]))
{
$hash=$_GET["hash"];
$select = "select hash from users where checked=0 and hash='".$hash."'";
$res = mysql_query($select);
if (mysql_num_rows($res) == 1)
{
$update = "update users set checked=1 where hash='".$hash."'";
$res = mysql_query($update);
echo "Frissites sikerült";
}
else
{
echo "Nem találtunk aktiválni való felhasználót!"
}
}
}
}
if(isset($_GET["mail"]))
{
$hitelesit = new Hitelesit();
}
else
{
echo "asdf";
}Ez mért nem akar működni? Csak egy üres képernyőt képet kapok...
Kezdetnek kapcsold be a hibák kijelzését, és akkor nem üres fehér oldal lesz, hanem hibaüzenet. Alternatívaként nézd az error logot.
PHP5 óta a konstruktor nem az osztály nevével egyező nevű függvény, hanem a __construct függvény.
Nem szép az a $_GET ott (ahogy már megjegyezte egy kollega), helyette használj inkább paraméterátadást - a konstruktor is csak egy függvény.
-
D@ni88
addikt
Fura nekem aza get az objektumon belül....
És ez miatt lehet lehalhat az objektum?
Akkor hogy oldanád meg? -
Speeedfire
félisten
class Hitelesit
{
private $hash, $select, $res ='';
private $hitelesit;
public function Hitelesit()
{
if(isset($_GET["hash"]))
{
$hash=$_GET["hash"];
$select = "select hash from users where checked=0 and hash='".$hash."'";
$res = mysql_query($select);
if (mysql_num_rows($res) == 1)
{
$update = "update users set checked=1 where hash='".$hash."'";
$res = mysql_query($update);
echo "Frissites sikerült";
}
else
{
echo "Nem találtunk aktiválni való felhasználót!"
}
}
}
}
if(isset($_GET["mail"]))
{
$hitelesit = new Hitelesit();
}
else
{
echo "asdf";
}Ez mért nem akar működni? Csak egy üres képernyőt képet kapok...
Fura nekem aza get az objektumon belül....
-
D@ni88
addikt
class Hitelesit
{
private $hash, $select, $res ='';
private $hitelesit;
public function Hitelesit()
{
if(isset($_GET["hash"]))
{
$hash=$_GET["hash"];
$select = "select hash from users where checked=0 and hash='".$hash."'";
$res = mysql_query($select);
if (mysql_num_rows($res) == 1)
{
$update = "update users set checked=1 where hash='".$hash."'";
$res = mysql_query($update);
echo "Frissites sikerült";
}
else
{
echo "Nem találtunk aktiválni való felhasználót!"
}
}
}
}
if(isset($_GET["mail"]))
{
$hitelesit = new Hitelesit();
}
else
{
echo "asdf";
}Ez mért nem akar működni? Csak egy üres képernyőt képet kapok...
-
Speeedfire
félisten
A minap írtam a x64 sql-hez való catlakozási gondomról.
A gépemen win7 x86 van apache+php 5.2.6-al. A letöltött sql driverek sima bemásolásával sikerült megoldani, hogy rá tudjak jelentkezni az sql szerverre.
Viszont a a tényleges php web szerverről ugyanezzel a módszerrel nem sikerül ( win2003 sp2 apache+php 5.26 ugyanaz mint nálam).
Valakinek ötlete, tapasztalata?
Valakinek ötlete, tapasztalata?
Linux alatt minden okés.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
lafaty80
addikt
Innen nehezen fogja tudni kitalálni bárki is, hogyan konfiguráltad. Pl. php.ini-ben az extension=php_mssql.dll sor szerepel-e, az ehhez tartozó dll (ntwdblib.dll) megvan-e, stb.
a dll-ek megvannak, a php.ini mindkét gépen ugyanaz:
extension=php_mssql.dll
extension=php_sqlsrv_52_nts_vc6.dll
extension=php_pdo_sqlsrv_52_nts_vc6.dllez van benne mindkét ini-ben.
-
Sk8erPeter
nagyúr
A minap írtam a x64 sql-hez való catlakozási gondomról.
A gépemen win7 x86 van apache+php 5.2.6-al. A letöltött sql driverek sima bemásolásával sikerült megoldani, hogy rá tudjak jelentkezni az sql szerverre.
Viszont a a tényleges php web szerverről ugyanezzel a módszerrel nem sikerül ( win2003 sp2 apache+php 5.26 ugyanaz mint nálam).
Valakinek ötlete, tapasztalata?
Innen nehezen fogja tudni kitalálni bárki is, hogyan konfiguráltad. Pl. php.ini-ben az extension=php_mssql.dll sor szerepel-e, az ehhez tartozó dll (ntwdblib.dll) megvan-e, stb.
-
lafaty80
addikt
A minap írtam a x64 sql-hez való catlakozási gondomról.
A gépemen win7 x86 van apache+php 5.2.6-al. A letöltött sql driverek sima bemásolásával sikerült megoldani, hogy rá tudjak jelentkezni az sql szerverre.
Viszont a a tényleges php web szerverről ugyanezzel a módszerrel nem sikerül ( win2003 sp2 apache+php 5.26 ugyanaz mint nálam).
Valakinek ötlete, tapasztalata?
-
Sk8erPeter
nagyúr
-
BullZeye
veterán
"Na meg ez, ha jól sejtem olyan, hogy megnyitja a TXT-t online, és ott szerkeszthetem, és nem olyan, hogy rákattolok, és elszíneződik."
Nyilván nem olyan, hogy kézzel kell beleszerkesztgetni, f@szságokat nem ajánlanék...
Úgy lenne megoldva, hogy amikor rákattintasz arra a számra, ami jelezné, hogy már láttad, elküldené az adatokat egy feldolgozó fájlnak, az meg a háttérben megcsinálná a fájlba írást, átírva a megfelelő változót, hogy azt az epizódot mondjuk már láttad. Te meg ugye ebből a fájlból olvasnál, így a megfelelő helyen látszana, hogy már láttad az epizódot, annak megfelelően jelenítené meg.Kész scriptet nem tudok rá mutatni, mert nyilván egyedi igényeid alakítják a kódot. Ha nem vágod a PHP-t, akkor így nehéz lesz (értsd: akkor nem lesz most működő megoldásod)... (hacsak nem találsz valakit, akinek van ideje megírni a kódot, igaz, ezt nem lenne olyan hosszú idő megírni)
"Btw jelenleg ezt a feladatot egy 634 bájtos TXT játssza el, de mondanom sem kell mennyire gáz, ha olyan gépen nézném, amin nincs ez a TXT, vagy hogy összehangolni 2-3 gép között"
Itt lenne mondjuk egy fájl, ami felelős ezért (lehet szabdalni mondjuk akár sorozatok szerint is, de minek... akkor már inkább adatbázis), abból olvasnál, abba írnál. Egyelőre elég, amíg kevés adatod van.
De mivel állításod szerint nem fogsz tudni ilyen scriptet írni, akkor csak legalább megbeszéltük, hogy elméletben sima ügy ilyet írni.
Röviden összefoglalva, ha elméletben sima ügy, megmondanád mit kell csinálni? Mert lehet van egy ismerősöm, aki megírná nekem egy sör mellett, ha nem több órás folyamat. Csak hogy tudjam, mit kérjek tőle.

-
Sk8erPeter
nagyúr
Köszi, de ez nekem hottentotta. Reménykedtem, hogy van ennél egyszerűbb vagy legalábbis "kész" script, ahol csak át kell írni/ki kell tölteni az engem érdekelt dolgokat.
Na meg ez, ha jól sejtem olyan, hogy megnyitja a TXT-t online, és ott szerkeszthetem, és nem olyan, hogy rákattolok, és elszíneződik.Tudsz mutatni oldalt, ahol ezt a megoldást használják? Csak hogy legyen egy kiinduló pontom? Mert magamtól 99%, hogy nem tudok működő scriptet csinálni.
Btw jelenleg ezt a feladatot egy 634 bájtos TXT játssza el, de mondanom sem kell mennyire gáz, ha olyan gépen nézném, amin nincs ez a TXT, vagy hogy összehangolni 2-3 gép között

"Na meg ez, ha jól sejtem olyan, hogy megnyitja a TXT-t online, és ott szerkeszthetem, és nem olyan, hogy rákattolok, és elszíneződik."
Nyilván nem olyan, hogy kézzel kell beleszerkesztgetni, f@szságokat nem ajánlanék...
Úgy lenne megoldva, hogy amikor rákattintasz arra a számra, ami jelezné, hogy már láttad, elküldené az adatokat egy feldolgozó fájlnak, az meg a háttérben megcsinálná a fájlba írást, átírva a megfelelő változót, hogy azt az epizódot mondjuk már láttad. Te meg ugye ebből a fájlból olvasnál, így a megfelelő helyen látszana, hogy már láttad az epizódot, annak megfelelően jelenítené meg.Kész scriptet nem tudok rá mutatni, mert nyilván egyedi igényeid alakítják a kódot. Ha nem vágod a PHP-t, akkor így nehéz lesz (értsd: akkor nem lesz most működő megoldásod)... (hacsak nem találsz valakit, akinek van ideje megírni a kódot, igaz, ezt nem lenne olyan hosszú idő megírni)
"Btw jelenleg ezt a feladatot egy 634 bájtos TXT játssza el, de mondanom sem kell mennyire gáz, ha olyan gépen nézném, amin nincs ez a TXT, vagy hogy összehangolni 2-3 gép között"
Itt lenne mondjuk egy fájl, ami felelős ezért (lehet szabdalni mondjuk akár sorozatok szerint is, de minek... akkor már inkább adatbázis), abból olvasnál, abba írnál. Egyelőre elég, amíg kevés adatod van.
De mivel állításod szerint nem fogsz tudni ilyen scriptet írni, akkor csak legalább megbeszéltük, hogy elméletben sima ügy ilyet írni.
-
Speeedfire
félisten
Köszi, de ez nekem hottentotta. Reménykedtem, hogy van ennél egyszerűbb vagy legalábbis "kész" script, ahol csak át kell írni/ki kell tölteni az engem érdekelt dolgokat.
Na meg ez, ha jól sejtem olyan, hogy megnyitja a TXT-t online, és ott szerkeszthetem, és nem olyan, hogy rákattolok, és elszíneződik.Tudsz mutatni oldalt, ahol ezt a megoldást használják? Csak hogy legyen egy kiinduló pontom? Mert magamtól 99%, hogy nem tudok működő scriptet csinálni.
Btw jelenleg ezt a feladatot egy 634 bájtos TXT játssza el, de mondanom sem kell mennyire gáz, ha olyan gépen nézném, amin nincs ez a TXT, vagy hogy összehangolni 2-3 gép között

Na meg ez, ha jól sejtem olyan, hogy megnyitja a TXT-t online, és ott szerkeszthetem, és nem olyan, hogy rákattolok, és elszíneződik.
Pont ez a lényege, hogy a php megnyitja neked a fájlt és át is írja az adatokat.
Pl van egy olyan sor, hogy láttam, ahol 0 v. 1-es szerepel és kész.
-
BullZeye
veterán
Visszatérve a JavaScript topicból:
nem kötelező az adatbázis, de sokkal szebb lenne.
Megoldhatod akár XML- vagy JSON-fájlba írással is (most azért ezt a kettőt mondtam, mert ezek feldolgozásához, írásához nagyon jó eszközök állnak rendelkezésre).
JSON-fájl olvasásáról és írásáról itt írtam: [link].
Azt szeretnéd tehát beállítani, hogy mondjuk adott sorozat adott epizódját (vagy évadját) már láttad-e, így az erre vonatkozó adatot módosíthatod a JSON beolvasása után, majd újból fájlba írhatod a módosult adatokat (felülírva mondjuk a korábbi fájlt). Ennél egyszerűbbet nehéz lenne mondani fájlbaírós módszerrel.Szerk.:
amúgy akár SQLite-ot is használhatnál erre, és akkor még meg is könnyíted a későbbi esetleges átállást "rendes" adatbázisra.Köszi, de ez nekem hottentotta. Reménykedtem, hogy van ennél egyszerűbb vagy legalábbis "kész" script, ahol csak át kell írni/ki kell tölteni az engem érdekelt dolgokat.
Na meg ez, ha jól sejtem olyan, hogy megnyitja a TXT-t online, és ott szerkeszthetem, és nem olyan, hogy rákattolok, és elszíneződik.Tudsz mutatni oldalt, ahol ezt a megoldást használják? Csak hogy legyen egy kiinduló pontom? Mert magamtól 99%, hogy nem tudok működő scriptet csinálni.
Btw jelenleg ezt a feladatot egy 634 bájtos TXT játssza el, de mondanom sem kell mennyire gáz, ha olyan gépen nézném, amin nincs ez a TXT, vagy hogy összehangolni 2-3 gép között

-
Speeedfire
félisten
Elvileg sok adat nem lesz neki. 10 sorozat kb, meg ritkán fogja megnézni, de egy ingyenes tárhelyen is van már adatbázis, ami meggyorsítja a munkafolyamatokat. Főleg ha esetleg később még bővíteni is szeretné, mert akkor ahogy írtad, egy néhány mb-os fájllal már megnőhet a lekérdezés ideje.
-
Sk8erPeter
nagyúr
Üdv
Lehetséges MYSQL adatbázis nélkül csinálni olyasmit, ahol fel van sorolva 6-7 sorozat, mellette pedig a 1-24-ig számok, és ha rákattolok az 1esre, akkor annak megváltozik a színe, és kiemelt lesz? Példának okáért
How I Met Your Mother 1-2-3-4-5-6-7-8-9-10....
Esetleg ha tudjátok ennek mi a neve, akkor rákereshetnék neten, hátha van már kész script is, így viszont nem tudom mire keressek.
Visszatérve a JavaScript topicból:
nem kötelező az adatbázis, de sokkal szebb lenne.
Megoldhatod akár XML- vagy JSON-fájlba írással is (most azért ezt a kettőt mondtam, mert ezek feldolgozásához, írásához nagyon jó eszközök állnak rendelkezésre).
JSON-fájl olvasásáról és írásáról itt írtam: [link].
Azt szeretnéd tehát beállítani, hogy mondjuk adott sorozat adott epizódját (vagy évadját) már láttad-e, így az erre vonatkozó adatot módosíthatod a JSON beolvasása után, majd újból fájlba írhatod a módosult adatokat (felülírva mondjuk a korábbi fájlt). Ennél egyszerűbbet nehéz lenne mondani fájlbaírós módszerrel.Szerk.:
amúgy akár SQLite-ot is használhatnál erre, és akkor még meg is könnyíted a későbbi esetleges átállást "rendes" adatbázisra. -
mobal
nagyúr
Közben kiderült, hogy kellene neki az adatbázis, mert az lenne a legcélszerűbb. Ja, lehetne fájlkezelés is, de felesleges vele szívni.

Más kérdés, hogy a feldolgozás meg a fájl - adatok méretével ugye nőne. Adatbázis a leggyorsabb. Mehet a munka jquery -vel, ahogy fentebb írtad.
-
Speeedfire
félisten
-
mobal
nagyúr
Ez inkább JavaScript/jQuery feladat.
php -val is lehet megoldani, elég intenzív fájlkezeléssel

-
pumatom
aktív tag
Sziasztok!
Tudnátok ajánlani egy használható ingyenes, adatbázis nélküli vendégkönyvet?
Sokat kerestem, de ebben a kategóriában használhatót, még nem találtam...
Üdv!

-
BullZeye
veterán
Ez inkább JavaScript/jQuery feladat.
Köszi a tippet, akkor megyek oda kérdezni

-
Speeedfire
félisten
Üdv
Lehetséges MYSQL adatbázis nélkül csinálni olyasmit, ahol fel van sorolva 6-7 sorozat, mellette pedig a 1-24-ig számok, és ha rákattolok az 1esre, akkor annak megváltozik a színe, és kiemelt lesz? Példának okáért
How I Met Your Mother 1-2-3-4-5-6-7-8-9-10....
Esetleg ha tudjátok ennek mi a neve, akkor rákereshetnék neten, hátha van már kész script is, így viszont nem tudom mire keressek.
Ez inkább JavaScript/jQuery feladat.
-
BullZeye
veterán
Üdv
Lehetséges MYSQL adatbázis nélkül csinálni olyasmit, ahol fel van sorolva 6-7 sorozat, mellette pedig a 1-24-ig számok, és ha rákattolok az 1esre, akkor annak megváltozik a színe, és kiemelt lesz? Példának okáért
How I Met Your Mother 1-2-3-4-5-6-7-8-9-10....
Esetleg ha tudjátok ennek mi a neve, akkor rákereshetnék neten, hátha van már kész script is, így viszont nem tudom mire keressek.
-
Speeedfire
félisten
microtime osszenyomva (kimenet 10-11 karakter):
#!/usr/bin/php
<?php
function mkid( $data ) {
$alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-";
$result = "";
while ( $data > 0 ) {
$key = $data & 63;
$data = $data >> 6;
$result = "{$alphabet[$key]}{$result}";
}
return $result;
}
$time = microtime();
$time = preg_split( "/[ ]/", $time );
$time[0] = substr( $time[0], 2 );
$id = mkid( $time[1] );
$id .= mkid( $time[0] );
?>Ez jónak tűnik, bár kicsit zavaró ez a karakter ingás.

-
rt06
veterán
A képfeltöltő oldalam így működik a timestamp alapján van a link elkészítve, de az md5 miatt elég hosszú a link.

Ha meg levágok belőle akkor előfordulhat megegyező első x karakter.microtime osszenyomva (kimenet 10-11 karakter):
#!/usr/bin/php
<?php
function mkid( $data ) {
$alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-";
$result = "";
while ( $data > 0 ) {
$key = $data & 63;
$data = $data >> 6;
$result = "{$alphabet[$key]}{$result}";
}
return $result;
}
$time = microtime();
$time = preg_split( "/[ ]/", $time );
$time[0] = substr( $time[0], 2 );
$id = mkid( $time[1] );
$id .= mkid( $time[0] );
?> -
mobal
nagyúr
A képfeltöltő oldalam így működik a timestamp alapján van a link elkészítve, de az md5 miatt elég hosszú a link.

Ha meg levágok belőle akkor előfordulhat megegyező első x karakter. -
Speeedfire
félisten
-
rt06
veterán
Hogy lehet úgy generálni "kódot", a pastebin és a youtube is szokott?
Generálok egy kódot x karakter hosszút, majd megnézem, hogy van-e már az adatbázisban? Ha van akkor addig generálok amíg nem lesz visszatérési értéke. Viszont ha már több millió ilyen kód van akkor gondolom eléggé nagy lehet már a lekérdezés, ami időben...
Ilyesmikre gondolok(url).
http://pastebin.com/bevsM8aS
http://www.youtu.be/OIh3nO6-V_Aenkriptalj timestamp-et
-
Speeedfire
félisten
Hogy lehet úgy generálni "kódot", a pastebin és a youtube is szokott?
Generálok egy kódot x karakter hosszút, majd megnézem, hogy van-e már az adatbázisban? Ha van akkor addig generálok amíg nem lesz visszatérési értéke. Viszont ha már több millió ilyen kód van akkor gondolom eléggé nagy lehet már a lekérdezés, ami időben...
Ilyesmikre gondolok(url).
http://pastebin.com/bevsM8aS
http://www.youtu.be/OIh3nO6-V_A -
Speeedfire
félisten
-
mobal
nagyúr
Vagy vegyen vps-t!
![;]](//cdn.rios.hu/dl/s/v1.gif)
Tök mind1, hogy vps v tárhely
ugyan úgy kell... -
rt06
veterán
Pedig szerintem csak a referrel a járható út. Ugye sok képes oldal, pl ha linkelve van a kép alá nyomja az oldal forrását is, hogy le lehessen lopni.
Mondjuk érdekes téma ez is.
jobb otletem nekem sincs ra, viszont ez sem teljeserteku (ugye referrer hamisitas +1 sor a curl-os lekeresbe)
-
Speeedfire
félisten
ha html file-t nem tudnak letolteni, akkor nem megtekintheto az oldalad, mert a bongeszok sem tudjak letolteni azokat
ha a php file-ok forraskodja letoltheto, ott vaalmi komoly baj van a webszerver beallitasaivalamit #7531:ben linkeltel, az eleg erdekes, nem teljesen ertem a kerdest (kezdve azzal, hogy sajat szerverrol miert url open-t akar hasznalni - vagy nem ugyanazt ertjuk manualis ut alatt)
amit Speedfire javasol #7535-ben, azzal lehet esetleg kiserletezni, viszont a referrer pofonegyszeruen hamisithato, cserebe viszont valid kereseket dobhatsz el amiatt, hogy egyes tuzfalak/virusirtok kitorlik a kimeno http keresekbol a referrer-t
szerk.: jobban megnezve Speedfire hozzaszolasat latom, hogy a hianyzo referrer nem okoz gondot, azt engedi a szabaly, viszont ekkor ugyanott vagy, mert sok bot nem kuld referrer-t
Pedig szerintem csak a referrel a járható út. Ugye sok képes oldal, pl ha linkelve van a kép alá nyomja az oldal forrását is, hogy le lehessen lopni.
Mondjuk érdekes téma ez is.
-
rt06
veterán
ha html file-t nem tudnak letolteni, akkor nem megtekintheto az oldalad, mert a bongeszok sem tudjak letolteni azokat
ha a php file-ok forraskodja letoltheto, ott vaalmi komoly baj van a webszerver beallitasaivalamit #7531:ben linkeltel, az eleg erdekes, nem teljesen ertem a kerdest (kezdve azzal, hogy sajat szerverrol miert url open-t akar hasznalni - vagy nem ugyanazt ertjuk manualis ut alatt)
amit Speedfire javasol #7535-ben, azzal lehet esetleg kiserletezni, viszont a referrer pofonegyszeruen hamisithato, cserebe viszont valid kereseket dobhatsz el amiatt, hogy egyes tuzfalak/virusirtok kitorlik a kimeno http keresekbol a referrer-t
szerk.: jobban megnezve Speedfire hozzaszolasat latom, hogy a hianyzo referrer nem okoz gondot, azt engedi a szabaly, viszont ekkor ugyanott vagy, mert sok bot nem kuld referrer-t
-
Speeedfire
félisten
Az sem rossz!


D@ni88:
Valami ilyesmi kell neked szerintem. Itt ha nem a saját url-ről nézik a képet/fájlt akkor hibát dob.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/notallowed.gif [R,L] -
Siriusb
veterán
Vagy vegyen vps-t!
![;]](//cdn.rios.hu/dl/s/v1.gif)
offline server

-
Speeedfire
félisten
-
mobal
nagyúr
-
Speeedfire
félisten
A legegyszerűbb a htaccess-el levédeni, de nem teljesen értem a kérdésedet. Azt akarod, hogy senki se nézze meg a weblapot vagy hogy?
-
D@ni88
addikt
Hogy lehet azt megoldani, hogy a tárhelyen lévő php, html fájlokhoz ne férjenek hozzá. Értsd, ne tudják olvasni, és ne is tudják letölteni?
Esetleg mondanátok pár hasznos tanácsot, amire érdemes vigyázni?
-
Sk8erPeter
nagyúr
Bocsánat, ezt valóban elnéztem.
(Átfutva a hsz.-edet valóban az maradt meg, hogy MySQL, mert az esetek 95%-ában itt ahhoz szoktak segítséget kérni, nem figyeltem, sorry.) -
lafaty80
addikt
Értem a célzást, de nem figyeltél...
Nekem nem my-sql gondom van hanem ms-sql. Valóban my-sqlre van pár megoldás, de azokkal én nem tudok mit kezdeni...
Megoldás született: Kell a MS SQL driver, abból hiányzott 1 file.
-
Sk8erPeter
nagyúr
-
lafaty80
addikt
Sziasztok,
Most futottam bele egy számomra nagyon kellemetlen szituációba.
Eddig 32bites MS-SQL szervereken kellett dolgoznom, most viszont 1 helyen áttértek 64bit-esre. Sajnos nem tudom elérni PHP-vel (5.2.6).Olvasgattam a netet, de megoldást még nem találtam. Remélem tudtok segíteni.
-
Sk8erPeter
nagyúr
-
mobal
nagyúr
Sziasztok!
Egy volt tanárom kérte a segítségemet egy mountolás gondban.
A helyzet a következő.
Adott egy vincseszter amit a Debian automatikusan a média könyvtárba monutol be.
Ezt esetleg át lehetne állítani, hogy ne a médiába hanem a home könyvtárba mountolja be automatikusan mikor betölt a rendszer?
Esetleg van rá valami példa, hogy hogyan kell be állítani?fstab -ban beállítod mit hova.
-
meone
tag
Fáradj át ide: Debian linux
Bocsi elbambultam.

Már viszem is át a hozzászólásomat. -
Siriusb
veterán
Sziasztok!
Egy volt tanárom kérte a segítségemet egy mountolás gondban.
A helyzet a következő.
Adott egy vincseszter amit a Debian automatikusan a média könyvtárba monutol be.
Ezt esetleg át lehetne állítani, hogy ne a médiába hanem a home könyvtárba mountolja be automatikusan mikor betölt a rendszer?
Esetleg van rá valami példa, hogy hogyan kell be állítani?Az fstab kell neked.
-
Brown ügynök
senior tag
Sziasztok!
Egy volt tanárom kérte a segítségemet egy mountolás gondban.
A helyzet a következő.
Adott egy vincseszter amit a Debian automatikusan a média könyvtárba monutol be.
Ezt esetleg át lehetne állítani, hogy ne a médiába hanem a home könyvtárba mountolja be automatikusan mikor betölt a rendszer?
Esetleg van rá valami példa, hogy hogyan kell be állítani?Fáradj át ide: Debian linux
-
meone
tag
Sziasztok!
Egy volt tanárom kérte a segítségemet egy mountolás gondban.
A helyzet a következő.
Adott egy vincseszter amit a Debian automatikusan a média könyvtárba monutol be.
Ezt esetleg át lehetne állítani, hogy ne a médiába hanem a home könyvtárba mountolja be automatikusan mikor betölt a rendszer?
Esetleg van rá valami példa, hogy hogyan kell be állítani? -
Alukard
senior tag
Addig becsülöd le a szerver által visszaküldendő adatmennyiség méretét, amíg nem kell komolyabb adathalmazt áttolnod a hálózaton...
Egyébként nem is csak a végleges méretről beszéltem, hanem arról, hogy PHP-ben a sztringkonkatenálás lassú, tehát plusz időbe is kerül...ezért nem érdemes vele elvégeztetni ott, ahol totálisan felesleges.
...és de, kliensoldalon nagyon nagy valószínűséggel gyorsabban fogja előállítani a kis listádat, ha ráküldöd egy for ciklusra, hogy pakolja össze a kapott adathalmaz alapján.Amúgy ezeket ne vedd kötekedésnek, inkább szakmai vitának, amiről érdemes beszélni.

===

(#7513) Athlon64+ : megnézted, kinek címeztem azt a hozzászólást, amire válaszoltál? Nem neked.
Neked én EZT küldtem. És még egyszer mondom, totálisan felesleges explicite elküldeni a 200 OK állapotkódot, MINDIG ez lesz az állapotkód, ha a fájl hibátlanul elejétől a végig lefutott, legenerálta a kimenetét (vagy nem), a böngésző megkapta azt, ÉS nem volt semmilyen kifejezett egyéb állapotkód-küldés.===

(#7515) Alukard :"Ízlések és pofonok, lényegét tekintve most variációkat taglalunk egy témára, szerintem teljesen fölöslegesen"
Szerintem egyáltalán nem felesleges egy, a témát érintő fórumban átrágni a megoldási lehetőségeket, a különböző gondolkodásmódokat. Egymástól is tanulhatunk.Egyébként oké, érthető, ha semmiképp nem tudsz mod_rewrite-ot használni, akkor nyilván az egyéb lehetőségekről kell beszélni, épp azt is tesszük.

"amint később említve lett a 404es átirányítás végett"
Milyen átirányítás? Nincs itt semmiféle átirányítás.
Az arra vonatkozó kódok a 3xx-esek.
És akkor ötvenedjére is elmondom, hogy ha nem létezik a fájl, és ezt jelezni akarod a kliens felé, attól még nem biztos, hogy jó megoldási módszer az, ha ennek ellenére kiadod a 200 OK-t, sőt, attól még lehet egyéni hibaoldalad, hogy 404-es hibakódot dobsz vissza...
Pont erre linkeltem a Drupalos oldalt: http://drupal.org/asdasdasd. Nézd meg mondjuk Firebuggal vagy ehhez hasonlóval, 404-et ad vissza a nem létező oldal miatt, mégis egyéni hibalapja van....htaccess -el van a 404-es átírányítás, azért kell a header.
-
Sk8erPeter
nagyúr
Ezt most miért nekem írtad? Én ezt egy framework-ből néztem.

@Sk8terPeter: akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Ja, 210 B helyett csak 110 B foglal majd el.
Mellesleg, nem vagyok benne biztos, hogy gyorsabb lesz ha a kliensoldalon végeztetjük a munkát."Szerintem tökéletes ahogy csináltam."
Pontosítok: A célnak tökéletesen megfelel a megoldás.Addig becsülöd le a szerver által visszaküldendő adatmennyiség méretét, amíg nem kell komolyabb adathalmazt áttolnod a hálózaton...
Egyébként nem is csak a végleges méretről beszéltem, hanem arról, hogy PHP-ben a sztringkonkatenálás lassú, tehát plusz időbe is kerül...ezért nem érdemes vele elvégeztetni ott, ahol totálisan felesleges.
...és de, kliensoldalon nagyon nagy valószínűséggel gyorsabban fogja előállítani a kis listádat, ha ráküldöd egy for ciklusra, hogy pakolja össze a kapott adathalmaz alapján.Amúgy ezeket ne vedd kötekedésnek, inkább szakmai vitának, amiről érdemes beszélni.

===

(#7513) Athlon64+ : megnézted, kinek címeztem azt a hozzászólást, amire válaszoltál? Nem neked.
Neked én EZT küldtem. És még egyszer mondom, totálisan felesleges explicite elküldeni a 200 OK állapotkódot, MINDIG ez lesz az állapotkód, ha a fájl hibátlanul elejétől a végig lefutott, legenerálta a kimenetét (vagy nem), a böngésző megkapta azt, ÉS nem volt semmilyen kifejezett egyéb állapotkód-küldés.===

(#7515) Alukard :"Ízlések és pofonok, lényegét tekintve most variációkat taglalunk egy témára, szerintem teljesen fölöslegesen"
Szerintem egyáltalán nem felesleges egy, a témát érintő fórumban átrágni a megoldási lehetőségeket, a különböző gondolkodásmódokat. Egymástól is tanulhatunk.Egyébként oké, érthető, ha semmiképp nem tudsz mod_rewrite-ot használni, akkor nyilván az egyéb lehetőségekről kell beszélni, épp azt is tesszük.

"amint később említve lett a 404es átirányítás végett"
Milyen átirányítás? Nincs itt semmiféle átirányítás.
Az arra vonatkozó kódok a 3xx-esek.
És akkor ötvenedjére is elmondom, hogy ha nem létezik a fájl, és ezt jelezni akarod a kliens felé, attól még nem biztos, hogy jó megoldási módszer az, ha ennek ellenére kiadod a 200 OK-t, sőt, attól még lehet egyéni hibaoldalad, hogy 404-es hibakódot dobsz vissza...
Pont erre linkeltem a Drupalos oldalt: http://drupal.org/asdasdasd. Nézd meg mondjuk Firebuggal vagy ehhez hasonlóval, 404-et ad vissza a nem létező oldal miatt, mégis egyéni hibalapja van... -
Speeedfire
félisten
A 404 jó dolog.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Alukard
senior tag
Én meg nem hiszem, hogy attól bonyolultabb lenne, hogy szebben valósítod meg, sőt.

Ha PHP-ben megcsináltad a konkatenálást, akkor ugyanezt megteheted kliensoldalon is, csak annyi a különbség, hogy akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Annyi, hogy a JSON-nel visszakapott eredményhalmazt bejárod, és ciklikusan hozzácsapod az option tageket, ez miért lenne olyan bonyolult?
Egyébként nem mondtam, hogy hibás lenne az, amit csináltál, de van rá jobb módszer is."Szerintem tökéletes ahogy csináltam."
Ilyet fejlesztő nem mondhat, csak ha túl sok az egója!
(nehogy megsértődj, csak viccelek, de sosincs tökéletes megoldás
)===
(#7499) holinorby :
<td align="right"><?php echo $product_price ?><br />
</td>Itt nem túl szép megoldás, hogy beraksz egy <br />-t. Inkább növeld a paddinget CSS-sel, vagy hasonló, de így nem túl "rugalmas" a stílus átszabása.
===
(#7504) Alukard :
Ne mondd, hogy ez szebb megoldás, mint amit Brown ügynök mond, mert nem az.

Egyébként CMS-eknél nagyon sokszor egyszerűen adatbázisban tárolják az URL aliasokat. Valószínűleg a D@ni88 által linkelt oldalon is ugyanezt alkalmazzák.
Pl. Drupalnál van egy url_alias tábla az adatbázisban: ezek olyan címekre képeződnek le, mint pl. a node/30. Ez utóbbi cím meg már mod_rewrite segítségével képeződik le a megfelelő query stringgé, PHP-vel meg ezt dolgozzák fel, majd kiszedik adatbázisból a 30-as id-jú node tartalmát."Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak?

Eleve 200 OK állapotkódot kap a böngésződ abban az esetben, ha a kérés hibátlanul lefutott, ÉS a szerver nem küldött más status code-ot. Ergo ez a sorod teljesen felesleges!!===
(#7506) Alukard :
"De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott."
A 2. mondat első felére: ahol le van tiltva, ott szólni kell a rendszergazdának, vagy szolgáltatót váltani.
A második felére: nem csak Apache-on működik az URL-átírás... IIS-nél is működik a rewrite, lásd pl. ezt: [link].Jobb CMS-eknél van is támogatás hozzá, pl. Drupalnál, Joomlánál is van IIS-támogatás.
Ízlések és pofonok, lényegét tekintve most variációkat taglalunk egy témára, szerintem teljesen fölöslegesen
A lényeg, hogy működik és szerencsére hiba mentesen.
Szép a drupal, de a vezetőség ragaszkodik saját fejlesztéséhez, szóval meg van kötve a kezem... a szolgáltató a mod_rewrite -ra meg azt mondta, hogy ezzel a szolgáltatás csomaggal nem elérhető, váltsunk nagyobbra és a vezetőség szolgáltató váltásról vagy csomag váltásról hallani sem akar... szóval 1 "picit" meg van kötve a kezem.... majd -talán- idővel...header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak
amint később említve lett a 404es átirányítás végett
-
cucka
addikt
Nem értem a megjegyzésedet. Amit linkeltem, az szerinted nem egyéni hibaoldal?
Mégis 404-et küld vissza, nem véletlenül.Jaigen, még egyszer megnézve, f@sságot írtam

-
Peter Kiss
őstag
Nem értem a megjegyzésedet. Amit linkeltem, az szerinted nem egyéni hibaoldal?
Mégis 404-et küld vissza, nem véletlenül.Jön Pistabá: domain.com/user_friendly_url
HTTP 404 (nincs mod_rewrite, nincs meg fizikailag ez a tartalom)
Egyéni hibaoldal ba van álltva
Ebben megnézem az URI alapján, tudok-e tartalmat szolgáltatni
Ha igen
HTTP 200 + tartalom
Egyébként
Tovább engedem 404-gyelÉn erre gondoltam.
-
Brown ügynök
senior tag
Látod, ezért írtam korábban, hogy érdemes megnézni kész framework-öket, például így látni fogod, hogy hogyan kell normálisan megcsinálni a routing-ot.
(#7509) Sk8erPeter
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Egyéni hibaoldal vagy hibakezelés?
Ezt most miért nekem írtad? Én ezt egy framework-ből néztem.

@Sk8terPeter: akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Ja, 210 B helyett csak 110 B foglal majd el.
Mellesleg, nem vagyok benne biztos, hogy gyorsabb lesz ha a kliensoldalon végeztetjük a munkát."Szerintem tökéletes ahogy csináltam."
Pontosítok: A célnak tökéletesen megfelel a megoldás. -
Sk8erPeter
nagyúr
Látod, ezért írtam korábban, hogy érdemes megnézni kész framework-öket, például így látni fogod, hogy hogyan kell normálisan megcsinálni a routing-ot.
(#7509) Sk8erPeter
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Egyéni hibaoldal vagy hibakezelés?
Nem értem a megjegyzésedet. Amit linkeltem, az szerinted nem egyéni hibaoldal?
Mégis 404-et küld vissza, nem véletlenül. -
cucka
addikt
Fölösleges ilyen terrorista módszereket bevetni.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Amit alkalmazok:
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/van-ilyen-oldal/' ){
//oldal meghívása
}
...
else {
header('Status: 404 Not Found');
#vagy 404 oldal meghívása
}Ezt még lehet bővíteni metódus, kapott változók vizsgálatával.
Látod, ezért írtam korábban, hogy érdemes megnézni kész framework-öket, például így látni fogod, hogy hogyan kell normálisan megcsinálni a routing-ot.
(#7509) Sk8erPeter
De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Egyéni hibaoldal vagy hibakezelés?
-
Sk8erPeter
nagyúr
A header() hívás akkor kellhet, ha a címeket nem mod_rewrite-tal írjuk át, hanem elkapjuk a 404-es hibákat. Gondolom, ez kavarodhatod meg.

De a 404-es állapotkódot nem véletlenül küldi vissza a szerver a kliensnek.
Pont ezzel jelzi a szerver, hogy a kért tartalom valamilyen okból nem található.
Nem is igazán látom be, mi értelme van erőszakosan megváltoztatni a 404-es állapotkódot 200 OK-ra...
Egy példa: http://drupal.org/asdasdasd
Ez a tartalom nyilván nem létezik, ki is írja a válaszban, hogy "Page not found", ÉS ezzel együtt 404-es HTTP-kódot küld vissza. Így is van ez rendjén!! -
Peter Kiss
őstag
Én meg nem hiszem, hogy attól bonyolultabb lenne, hogy szebben valósítod meg, sőt.

Ha PHP-ben megcsináltad a konkatenálást, akkor ugyanezt megteheted kliensoldalon is, csak annyi a különbség, hogy akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Annyi, hogy a JSON-nel visszakapott eredményhalmazt bejárod, és ciklikusan hozzácsapod az option tageket, ez miért lenne olyan bonyolult?
Egyébként nem mondtam, hogy hibás lenne az, amit csináltál, de van rá jobb módszer is."Szerintem tökéletes ahogy csináltam."
Ilyet fejlesztő nem mondhat, csak ha túl sok az egója!
(nehogy megsértődj, csak viccelek, de sosincs tökéletes megoldás
)===
(#7499) holinorby :
<td align="right"><?php echo $product_price ?><br />
</td>Itt nem túl szép megoldás, hogy beraksz egy <br />-t. Inkább növeld a paddinget CSS-sel, vagy hasonló, de így nem túl "rugalmas" a stílus átszabása.
===
(#7504) Alukard :
Ne mondd, hogy ez szebb megoldás, mint amit Brown ügynök mond, mert nem az.

Egyébként CMS-eknél nagyon sokszor egyszerűen adatbázisban tárolják az URL aliasokat. Valószínűleg a D@ni88 által linkelt oldalon is ugyanezt alkalmazzák.
Pl. Drupalnál van egy url_alias tábla az adatbázisban: ezek olyan címekre képeződnek le, mint pl. a node/30. Ez utóbbi cím meg már mod_rewrite segítségével képeződik le a megfelelő query stringgé, PHP-vel meg ezt dolgozzák fel, majd kiszedik adatbázisból a 30-as id-jú node tartalmát."Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak?

Eleve 200 OK állapotkódot kap a böngésződ abban az esetben, ha a kérés hibátlanul lefutott, ÉS a szerver nem küldött más status code-ot. Ergo ez a sorod teljesen felesleges!!===
(#7506) Alukard :
"De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott."
A 2. mondat első felére: ahol le van tiltva, ott szólni kell a rendszergazdának, vagy szolgáltatót váltani.
A második felére: nem csak Apache-on működik az URL-átírás... IIS-nél is működik a rewrite, lásd pl. ezt: [link].Jobb CMS-eknél van is támogatás hozzá, pl. Drupalnál, Joomlánál is van IIS-támogatás.
A header() hívás akkor kellhet, ha a címeket nem mod_rewrite-tal írjuk át, hanem elkapjuk a 404-es hibákat. Gondolom, ez kavarodhatod meg.

-
Sk8erPeter
nagyúr
Szerintem tökéletes ahogy csináltam. Nem hiszem, hogy bonyolítanom kellett volna a dolgokat azért, hogy "szebb" legyen.
@rolandekta: Írtam, hogy mit nézegess: [link] Akkor írok egy példát ajax-ra is.
function changeMenu(szak1) { // szak1: A kiválasztott elem
var $selected = $(szak1).val(); // A kiválasztott elem értéke
var $url = action.php // Az adatbázis műveleteket tartalmazó php fájl
$.post($url, {szak1: $selected}, // Ajax: a php fájlnak átadjuk a változót, ami végrehajtja a benne lévő műveleteket és visszatér a következő menü elemeivel
function(data){
if(data.length > 0) {
$('#NextMenu').html(data); // A megkapott adatokat kiíratjuk.
}
});
}Én meg nem hiszem, hogy attól bonyolultabb lenne, hogy szebben valósítod meg, sőt.

Ha PHP-ben megcsináltad a konkatenálást, akkor ugyanezt megteheted kliensoldalon is, csak annyi a különbség, hogy akkor gyorsabb lesz, és kevesebb sávszélt kajál.
Annyi, hogy a JSON-nel visszakapott eredményhalmazt bejárod, és ciklikusan hozzácsapod az option tageket, ez miért lenne olyan bonyolult?
Egyébként nem mondtam, hogy hibás lenne az, amit csináltál, de van rá jobb módszer is."Szerintem tökéletes ahogy csináltam."
Ilyet fejlesztő nem mondhat, csak ha túl sok az egója!
(nehogy megsértődj, csak viccelek, de sosincs tökéletes megoldás
)===
(#7499) holinorby :
<td align="right"><?php echo $product_price ?><br />
</td>Itt nem túl szép megoldás, hogy beraksz egy <br />-t. Inkább növeld a paddinget CSS-sel, vagy hasonló, de így nem túl "rugalmas" a stílus átszabása.
===
(#7504) Alukard :
Ne mondd, hogy ez szebb megoldás, mint amit Brown ügynök mond, mert nem az.

Egyébként CMS-eknél nagyon sokszor egyszerűen adatbázisban tárolják az URL aliasokat. Valószínűleg a D@ni88 által linkelt oldalon is ugyanezt alkalmazzák.
Pl. Drupalnál van egy url_alias tábla az adatbázisban: ezek olyan címekre képeződnek le, mint pl. a node/30. Ez utóbbi cím meg már mod_rewrite segítségével képeződik le a megfelelő query stringgé, PHP-vel meg ezt dolgozzák fel, majd kiszedik adatbázisból a 30-as id-jú node tartalmát."Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");"
Ez meg mi a jó büdös francnak?

Eleve 200 OK állapotkódot kap a böngésződ abban az esetben, ha a kérés hibátlanul lefutott, ÉS a szerver nem küldött más status code-ot. Ergo ez a sorod teljesen felesleges!!===
(#7506) Alukard :
"De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott."
A 2. mondat első felére: ahol le van tiltva, ott szólni kell a rendszergazdának, vagy szolgáltatót váltani.
A második felére: nem csak Apache-on működik az URL-átírás... IIS-nél is működik a rewrite, lásd pl. ezt: [link].Jobb CMS-eknél van is támogatás hozzá, pl. Drupalnál, Joomlánál is van IIS-támogatás.
-
Alukard
senior tag
Fölösleges ilyen terrorista módszereket bevetni.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Amit alkalmazok:
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/van-ilyen-oldal/' ){
//oldal meghívása
}
...
else {
header('Status: 404 Not Found');
#vagy 404 oldal meghívása
}Ezt még lehet bővíteni metódus, kapott változók vizsgálatával.
Ez -szerintem- már csak megszokás kérdése

De ez legalább több helyen működik mint a mod_rewrite -os megoldás. Sok esetben futottam bele abba, hogy vagy le volt tiltva vagy nem apache futott. -
Brown ügynök
senior tag
domain.com/oldal/azon
$urlVar = explode("/",$_SERVER['REQUEST_URI']);
Persze a megfelelően formázott link elengedhetetlen, de ezek után $_GET helyett csak a megfelelő $urlVar -t kell behívni, jelen esetben:
$urlVar[1] = "oldal"
$urlVar[2] = "azon"Ezek után egy switch segítségével eldönthetem milyen oldalt szeretnék include-olni, a többi meg fantázia kérdése, de switch-el sokkal átláthatóbb mint 1 if rengeteg lenne...
Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");
Fölösleges ilyen terrorista módszereket bevetni.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Amit alkalmazok:
$uri = $_SERVER['REQUEST_URI'];
if ($uri == '/van-ilyen-oldal/' ){
//oldal meghívása
}
...
else {
header('Status: 404 Not Found');
#vagy 404 oldal meghívása
}Ezt még lehet bővíteni metódus, kapott változók vizsgálatával.
-
Alukard
senior tag
domain.com/oldal/azon
$urlVar = explode("/",$_SERVER['REQUEST_URI']);
Persze a megfelelően formázott link elengedhetetlen, de ezek után $_GET helyett csak a megfelelő $urlVar -t kell behívni, jelen esetben:
$urlVar[1] = "oldal"
$urlVar[2] = "azon"Ezek után egy switch segítségével eldönthetem milyen oldalt szeretnék include-olni, a többi meg fantázia kérdése, de switch-el sokkal átláthatóbb mint 1 if rengeteg lenne...
Ja, majdnem lemaradt... egy szintén fontos apróság:
header("HTTP/1.1 200 OK");
-
Brown ügynök
senior tag
-
Alukard
senior tag
Én jobb szeretem azt a megoldást, hogy minden kérésr az index.php-ra irányítok (mondjuk egy nagyon csúnya módon egy error 404-el), és robbantok egyet az URLben

-
Brown ügynök
senior tag
Új hozzászólás Aktív témák
-
7600 - 7501
21809 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 9901 9900 - 9801 9800 - 9701 9700 - 9601 9600 - 9501 9500 - 9401 9400 - 9301 9300 - 9201 9200 - 9101 9100 - 9001 9000 - 8901 8900 - 8801 8800 - 8701 8700 - 8601 8600 - 8501 8500 - 8401 8400 - 8301 8300 - 8201 8200 - 8101 8100 - 8001 8000 - 7901 7900 - 7801 7800 - 7701 7700 - 7601 7600 - 7501 7500 - 7401 7400 - 7301 7300 - 7201 7200 - 7101 7100 - 7001 7000 - 6901 6900 - 6801 6800 - 6701 6700 - 6601 6600 - 6501 6500 - 6401 6400 - 6301 6300 - 6201 6200 - 6101 6100 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- PHP programozás
- (kiemelt téma)
- Ubuntu Linux
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Projektor topic
- Bluetooth hangszórók
- OLED TV topic
- Kerékpárosok, bringások ide!
- Építő/felújító topik
- Elemlámpa, zseblámpa
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- playseat evolution black actifit
- Precision 3560 27% 15.6" FHD IPS i7-1165G7 T500 16GB 512GB NVMe magyar vbill IR kam gar
- Gamer Gép - MSI H610, Intel I5 13600, 16GB DDR4, RTX 3070 Ti, 1TB M.2 SSD, 750W 80+ Gold
- Asztali PC i7 6700 1650 16GB DDR4 512GB SSD
- ASUS TUF Gaming A17 Gamer laptop , R7 6800H , 16GB DDR5 , RTX 3050 Ti
- UGREEN USB 2.0 2x1 USB KVM kapcsoló
- Dell OptiPlex GX520 SFF,Pentium D 820,512 MB DDR2 félkonfig
- TOP Pure White PC /Ryzen 7 9800X3D, 32GB DDR5 RAM, 1TB M.2 PCIe SSD/ akciós áron eladó! BeszámítOK!
- Apple iPhone 13 Pro Max 128GB Blue - Szép állapot - 100% akku
- Lenovo T14s Ryzen 7 4750U 32Gb Ram 1Tb NVMe SSD Érintőkijelző számlával Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Nincs mit!


![;]](http://cdn.rios.hu/dl/s/v1.gif)




(Átfutva a hsz.-edet valóban az maradt meg, hogy MySQL, mert az esetek 95%-ában itt ahhoz szoktak segítséget kérni, nem figyeltem, sorry.)


