ugrás a tartalomhoz

Archívum - Júl 15, 2008

PHP 5.2.3 + require_once() fv + XML kimenet --> hol a hiba???

fchris82 · 2008. Júl. 15. (K), 23.55
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:

<?php
require_once('inc/_config.php');

// Egyéb dolgok, amiket a tesztelés során kikommenteztem.

require_once('response/xml.php');
?>
A _config.php-ban változók tömege van, ami pl az adatbázishoz csatlakozáshoz kell.

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>';
?>
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:
<?xml version="1.0" encoding="utf-8"?>
<DOKUMENTUMELEM>
  valami szoveg
<VALAMIELEM>valami szoveg</VALAMIELEM>
</DOKUMENTUMELEM>
Jobb klikk-->Forrás megtekintése műveletre valóban ezt írja ki. DE! A Firefox meg ezt írja ki:
XML feldolgozási hiba: nem jól formázott
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');
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.

Django - webes keretrendszer mindenkinek

Török Gábor · 2008. Júl. 15. (K), 22.32
Farkas Szilveszter a Linux Akadémián tartott előadásának fóliái
 

mssql_connect(); hogyan ?

blal · 2008. Júl. 15. (K), 21.42
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:
SELECT @@SERVERNAME AS 'Server Nev';
-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!
 

Wordpress 2.6 : Now With Gears Support (Just Don’t Upgrade Your FF)

Török Gábor · 2008. Júl. 15. (K), 16.23
Változatkövetés, gyorstárazás Gears-zel, teljes körű SSL támogatás ésatöbbi
 

form readonly

aspirany · 2008. Júl. 15. (K), 13.24
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
 

CSS link rejtélyes módon eltünik ha vissza lépsz

ronbird · 2008. Júl. 15. (K), 12.11
Ü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?
 

Lekérdezés optimalizálás

minczerl · 2008. Júl. 15. (K), 09.45
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.

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;
Köszönöm