- laskr99: Újrakezdem a processzor és videókártya szilícium magok fotózását
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: SATA to SAS adapter
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- M0ng00se: Hardvert áruhitelre?
- bitpork: Ingatlan eladás
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
Új hozzászólás Aktív témák
-
lafaty80
addikt
válasz
Sk8erPeter #7596 üzenetére
Igazából bevallom a te ötleted alapján csináltam, mert én csak az sql-es dll-eket cseréltem
-
letix
senior tag
válasz
Speeedfire #7586 üzenetére
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
válasz
Sk8erPeter #7596 üzenetére
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
válasz
Speeedfire #7594 üzenetére
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!
-
lafaty80
addikt
válasz
Sk8erPeter #7591 üzenetére
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
válasz
Sk8erPeter #7593 üzenetére
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
válasz
Speeedfire #7590 üzenetére
"é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.
-
Sk8erPeter
nagyúr
válasz
lafaty80 #7589 üzenetére
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
válasz
Sk8erPeter #7587 üzenetére
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
válasz
Sk8erPeter #7588 üzenetére
Ö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
válasz
lafaty80 #7582 üzenetére
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.
-
Sk8erPeter
nagyúr
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á'.
-
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
válasz
Speeedfire #7583 üzenetére
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
válasz
Sk8erPeter #7581 üzenetére
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 -
lafaty80
addikt
válasz
Sk8erPeter #7580 üzenetére
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
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
válasz
lafaty80 #7573 üzenetére
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
válasz
Tele von Zsinór #7572 üzenetére
É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
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
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() -
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
válasz
Brown ügynök #7574 üzenetére
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
válasz
Tele von Zsinór #7572 üzenetére
Miért nem raknál? Grafikus felület miatt?
-
lafaty80
addikt
válasz
Sk8erPeter #7571 üzenetére
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
válasz
Sk8erPeter #7571 üzenetére
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
válasz
lafaty80 #7563 üzenetére
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?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)... -
Tele von Zsinór
őstag
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
válasz
Speeedfire #7566 üzenetére
És ez miatt lehet lehalhat az objektum?
Akkor hogy oldanád meg? -
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...
-
lafaty80
addikt
válasz
Sk8erPeter #7562 üzenetére
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
válasz
lafaty80 #7561 üzenetére
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?
-
BullZeye
veterán
válasz
Sk8erPeter #7558 üzenetére
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
válasz
BullZeye #7556 üzenetére
"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
válasz
BullZeye #7556 üzenetére
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
válasz
Sk8erPeter #7554 üzenetére
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
válasz
BullZeye #7547 üzenetére
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. -
válasz
Speeedfire #7552 üzenetére
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.
-
válasz
Speeedfire #7548 üzenetére
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
válasz
Speeedfire #7548 üzenetére
Köszi a tippet, akkor megyek oda kérdezni
-
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.
-
rt06
veterán
válasz
Speeedfire #7543 üzenetére
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] );
?> -
válasz
Speeedfire #7543 üzenetére
-
rt06
veterán
válasz
Speeedfire #7541 üzenetére
enkriptalj 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 -
válasz
Speeedfire #7533 üzenetére
Tök mind1, hogy vps v tárhely
ugyan úgy kell...
-
rt06
veterán
válasz
Speeedfire #7537 üzenetére
jobb otletem nekem sincs ra, viszont ez sem teljeserteku (ugye referrer hamisitas +1 sor a curl-os lekeresbe)
-
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
válasz
Speeedfire #7533 üzenetére
offline server
-
D@ni88
addikt
válasz
Speeedfire #7530 üzenetére
Szia.
Pl ilyet szeretnék elkerülni: [link]
Továbbá jártam már olyan oldalon, ahonnan le lehetett tölteni magát a php fájlokat. Ha jól tudom flashgettel -
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?
-
lafaty80
addikt
válasz
Sk8erPeter #7526 üzenetére
É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.
-
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.
-
meone
tag
válasz
Brown ügynök #7520 üzenetére
Bocsi elbambultam.
Már viszem is át a hozzászólásomat. -
Brown ügynök
senior tag
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
válasz
Sk8erPeter #7517 üzenetére
.htaccess -el van a 404-es átírányítás, azért kell a header.
-
Sk8erPeter
nagyúr
válasz
Brown ügynök #7512 üzenetére
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.
-
Alukard
senior tag
válasz
Sk8erPeter #7507 üzenetére
Í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
válasz
Sk8erPeter #7511 üzenetére
Jaigen, még egyszer megnézve, f@sságot írtam
-
Peter Kiss
őstag
válasz
Sk8erPeter #7511 üzenetére
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
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. -
cucka
addikt
válasz
Brown ügynök #7505 üzenetére
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
válasz
Peter Kiss #7508 üzenetére
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
válasz
Sk8erPeter #7507 üzenetére
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
válasz
Brown ügynök #7498 üzenetére
É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
válasz
Brown ügynök #7505 üzenetére
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
válasz
Alukard #7504 üzenetére
Fölösleges ilyen terrorista módszereket bevetni.
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
válasz
Brown ügynök #7503 üzenetére
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");
-
Alukard
senior tag
válasz
Brown ügynök #7501 üzenetére
É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
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- A Windows 11 lett az úr az asztali PC-k piacán
- TCL LCD és LED TV-k
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Építő/felújító topik
- No Man's Sky - Már elérhető a Worlds Part 2 frissítés
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Hamarosan rézhiánytól szenvedhet az egész chipgyártás
- Gumi és felni topik
- Anime filmek és sorozatok
- További aktív témák...
- BESZÁMÍTÁS! Gigabyte B650M R7 7700 32GB DDR5 1TB SSD RTX 5070 12GB BE QUIET! Pure Base 500DX 650W
- LG 27GR95QL - 27" OLED / Limitált LoL Edition / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync
- LG 32SQ700S-W - 32" VA Smart - 3840x2160 4K UHD - 62Hz 5ms - WebOS - Wifi + BT - USB-C - Hangszórók
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
- Intel Core i7-8700, i7-9700 CPU, processzor - Számla, garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest