Archívum - Júl 15, 2008
PHP 5.2.3 + require_once() fv + XML kimenet --> hol a hiba???
Egy érdekes problémába ütköztem, amit megoldottam, de igazából nem jöttem rá, hogy mi okozza a hibát, vagy egyáltalán hogyan kellene csinálni :?
index.php:A _config.php-ban változók tömege van, ami pl az adatbázishoz csatlakozáshoz kell.
xml.php:Eredetileg itt DOM-mal egy tömbből készül az XML, de már annyira kiakadtam, hogy nem megy, inkább a netről leszedtem egy ELMÉLETILEG biztosan működő példát :D
Tehát ez elméletileg és gyakorlatilag is azt az eredményt adja, hogy:Jobb klikk-->Forrás megtekintése műveletre valóban ezt írja ki. DE! A Firefox meg ezt írja ki:
Mindegy, hogy mit íratok ki, a hiba mindig a második karakter lesz. Ha telenyomom szóközökkel az elejét, akkor is, ha törlöm a legelső sort, akkor is. Ha include() van a require_once() helyett, akkor is ez a jelenség. Ha van egy beillesztés az utolsó sor előtt, akkor halál. Ha kikommentezem őket, akkor működik.
A jelenlegi megoldás:Jé, és működik :-/ FireBuggal megnéztem, hogy mit küld vissza a rendszer a egyik és mit a másik esetben. Az egyetlen különbség, hogy a válasz header-ben a Content-Length értéke 6 byte-al kevesebb (amikor jó). De amikor megnézem a forrást, ezt a 6 byte-ot sehol nem találom. Se szóköz formájában, se sehogy máshogy.
index.php:
<?php
require_once('inc/_config.php');
// Egyéb dolgok, amiket a tesztelés során kikommenteztem.
require_once('response/xml.php');
?>
xml.php:
<?php
header('Content-type: text/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="utf-8"?>
<DOKUMENTUMELEM>
valami szoveg
<VALAMIELEM>valami szoveg</VALAMIELEM>
</DOKUMENTUMELEM>';
?>
Tehát ez elméletileg és gyakorlatilag is azt az eredményt adja, hogy:
<?xml version="1.0" encoding="utf-8"?>
<DOKUMENTUMELEM>
valami szoveg
<VALAMIELEM>valami szoveg</VALAMIELEM>
</DOKUMENTUMELEM>
XML feldolgozási hiba: nem jól formázott
Hely: http://...
1. sor, 2. oszlop:
<?xml version="1.0" encoding="utf-8"?>
-^
Hely: http://...
1. sor, 2. oszlop:
<?xml version="1.0" encoding="utf-8"?>
-^
Mindegy, hogy mit íratok ki, a hiba mindig a második karakter lesz. Ha telenyomom szóközökkel az elejét, akkor is, ha törlöm a legelső sort, akkor is. Ha include() van a require_once() helyett, akkor is ez a jelenség. Ha van egy beillesztés az utolsó sor előtt, akkor halál. Ha kikommentezem őket, akkor működik.
A jelenlegi megoldás:
ob_start();
require_once('inc/_config.php');
// Többi kód
ob_end_clean();
require_once('response/xml.php');
Django - webes keretrendszer mindenkinek
Farkas Szilveszter a Linux Akadémián tartott előadásának fóliái
■ mssql_connect(); hogyan ?
Sziasztok!
A munkámhoz sajnos nélkülözhetetlen lenne az mssql. Már ott duruzsol az xp-men, akárcsak a PHP5, de php-ból nem tudok csatlakozni. Ezen link alapján próbáltam beállítani a dolgokat, de így sem működik. Próbáltam a "TCP Dynamic Ports"-nál beállítani azt amit megad az útmutató, vagy az 1443-ast, de azóta már próbáltam default-on is. mssql_connect() -- serevrnévnél is adtam már meg millió féle képp: localhost; localhost:1879; localhost,1879 (és ezek a többi portra); akkor jöttek a kicsit irreálisnak tűnő próbálkozások:-el lekértem a szerver nevét, erre kidobta: gépnév\sqlexpress, és még ezek kombinációjára próbáltam megadni a szerver nevét, pl.: gépnév:port, vagy localhost\sqlexpress. :S És biztos, hogy valamit kihagytam, vagy egy apróságot nem veszek észre, de nem tudok rájönni, hogy mi lenne az! Egy változatlan:"Unable to connect to server".
Légyszíves segítsetek!
■ A munkámhoz sajnos nélkülözhetetlen lenne az mssql. Már ott duruzsol az xp-men, akárcsak a PHP5, de php-ból nem tudok csatlakozni. Ezen link alapján próbáltam beállítani a dolgokat, de így sem működik. Próbáltam a "TCP Dynamic Ports"-nál beállítani azt amit megad az útmutató, vagy az 1443-ast, de azóta már próbáltam default-on is. mssql_connect() -- serevrnévnél is adtam már meg millió féle képp: localhost; localhost:1879; localhost,1879 (és ezek a többi portra); akkor jöttek a kicsit irreálisnak tűnő próbálkozások:
SELECT @@SERVERNAME AS 'Server Nev';
Légyszíves segítsetek!
Wordpress 2.6 : Now With Gears Support (Just Don’t Upgrade Your FF)
Változatkövetés, gyorstárazás Gears-zel, teljes körű SSL támogatás ésatöbbi
■ form readonly
Sziasztok!
A következő kérdésem:
Adott egy nagy form (Partner adatok bevitele)
a formon input mezők ill legördülő menük.
A lényeg az lenne hogy egy ha a formot elmentették,majd később vissza szeretnék nézni már ne lehessen módósitani az adatokat.
A legkönnyebb az lenne ha két formot készitenék(pl:bevitel_form és mentett_form) a mentett formon állitanám be a text fildet readonly-ra.
De nekem ez a megoldás nem tűnik túl elegánsnak bár mondom ez a legegyszerűbb.
Köszönöm a segítséget
■ A következő kérdésem:
Adott egy nagy form (Partner adatok bevitele)
a formon input mezők ill legördülő menük.
A lényeg az lenne hogy egy ha a formot elmentették,majd később vissza szeretnék nézni már ne lehessen módósitani az adatokat.
A legkönnyebb az lenne ha két formot készitenék(pl:bevitel_form és mentett_form) a mentett formon állitanám be a text fildet readonly-ra.
De nekem ez a megoldás nem tűnik túl elegánsnak bár mondom ez a legegyszerűbb.
Köszönöm a segítséget
CSS link rejtélyes módon eltünik ha vissza lépsz
Üdv!
A következő lenne a problémám! Az index.html fileomban elhelyeztem két linket <a class="button1" href="index_hun.php"> illetve <a class="button2" href="index_ger.php"> paraméterekkel. Amikor a button 2re kattintok, bejön az index_ger.php, ám amikor nyomok egy backspacet vagy vissza gombot a böngészön, az index.htmlben már nyoma sincs ennek a második gombnak. Az első gombbal nincs ilyen probléma. Az oldal forrás + css megtekinthető ITT. Még sosem találkoztam ilyen problémával. Mindegyik böngészöben ezt csinaálja, (ffox3, ie6, ie7).
<META HTTP-EQUIV="expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
sem működik. Valaki találkozott már ilyennel?
■ A következő lenne a problémám! Az index.html fileomban elhelyeztem két linket <a class="button1" href="index_hun.php"> illetve <a class="button2" href="index_ger.php"> paraméterekkel. Amikor a button 2re kattintok, bejön az index_ger.php, ám amikor nyomok egy backspacet vagy vissza gombot a böngészön, az index.htmlben már nyoma sincs ennek a második gombnak. Az első gombbal nincs ilyen probléma. Az oldal forrás + css megtekinthető ITT. Még sosem találkoztam ilyen problémával. Mindegyik böngészöben ezt csinaálja, (ffox3, ie6, ie7).
<META HTTP-EQUIV="expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
sem működik. Valaki találkozott már ilyennel?
Lekérdezés optimalizálás
Sziasztok!
Besegítek egy oldal fejlesztésébe/adminisztrálásába, és tegnap szólt a tulajdonos hogy a szolgáltató leállította az oldalt, mert túlságosan leterheli az adatbázisszerverüket. A lassan lefutott lekérdezések naplóját elküldték. A hibát egy olyan lekérdezés okozza a napló szerint , ami az oldalon található 10 legtöbbet letöltött letöltést adja vissza. Amihez 3 táblát használ
download: itt vannak a letöltések 789 rekord
download_category: letöltések kategórizálása 32 rekord
download_request: a felhasználó által inditott letöltéseket naplózza, ki, mikor, melyik fájlt töltötte le, ez a tábla már 100.000 feletti rekordszámmal bír.
Kérdésem az hogy az alábbi lekérdezést miként lehetne gyorsítani/optimalizálni hogy ne feküdjön ki a szerver tőle. Utolsó megoldásként megcsinálom úgy hogy ne kelljen belenyúlnia a request táblába, de hátha valakinek van jobb ötlete.Köszönöm
■ Besegítek egy oldal fejlesztésébe/adminisztrálásába, és tegnap szólt a tulajdonos hogy a szolgáltató leállította az oldalt, mert túlságosan leterheli az adatbázisszerverüket. A lassan lefutott lekérdezések naplóját elküldték. A hibát egy olyan lekérdezés okozza a napló szerint , ami az oldalon található 10 legtöbbet letöltött letöltést adja vissza. Amihez 3 táblát használ
download: itt vannak a letöltések 789 rekord
download_category: letöltések kategórizálása 32 rekord
download_request: a felhasználó által inditott letöltéseket naplózza, ki, mikor, melyik fájlt töltötte le, ez a tábla már 100.000 feletti rekordszámmal bír.
Kérdésem az hogy az alábbi lekérdezést miként lehetne gyorsítani/optimalizálni hogy ne feküdjön ki a szerver tőle. Utolsó megoldásként megcsinálom úgy hogy ne kelljen belenyúlnia a request táblába, de hátha valakinek van jobb ötlete.
SELECT d.*, COUNT(ds.download_request_download_id) AS statcnt
FROM download AS d
LEFT JOIN download_category AS dcs ON dcs.download_category_id = d.download_category
LEFT JOIN download_category AS dc ON dc.download_category_id = dcs.download_category_parent
LEFT JOIN download_requests AS ds ON d.download_id = ds.download_request_download_id
AND ds.download_request_datestamp >= 1214863200
WHERE dc.download_category_class IN (252,251,0)
AND dcs.download_category_class IN (252,251,0)
AND d.download_visible IN (252,251,0)
GROUP BY d.download_id
ORDER BY statcnt DESC LIMIT 0, 10;