ugrás a tartalomhoz

A PHP hogyan tudná a JavaScripthez hasonlóan figyelni az eseményeket?

Anonymous · 2006. Dec. 2. (Szo), 10.46
Sziasztok!

Egy ideje már programozgatok php-ban. Ez idő alatt nem találtam arra utaló jelet, hogy a php (hasonlóan a JavaScripthez) képes lenne folyamatosan befolyásolni egy oldalon történő változást. Ismereteim szerint a php betöltödik lefut, és aztán kerül ki az oldal az explorerbe.

Felmerült most egy olyan probléma, ami erősen szükségessé tenné a rezidenséget. (adatbázisból kellene kiszedni list menük adatait, aztán az első list menüben lévő adat kiválasztása alapján jelenne meg a következő list menü tartalma. Csináltam már ilyet, akkor a PHP-ból generáltam JavaScriptet, most azonban egy sokkal nagyobb adatbázisról lenne szó, és a megrendelő azt mondja, hogy nem lenne jó a JavaScriptbe bepakolni a kb 300 adatot.)

Megkérdezte egy ismerősét (Bár nem php programozó az ismerőse), aki azt válaszolta, hogy a megoldás ez: külön kell fejleszteni a php-t és a HTML-t.

Az én ismereteim alapján ez nem biztosítja, hogy a php figyelni tudja a klikkeléseket , és az alapján pakolja ki a következő list input mező tartalmát. (arról nem is beszélve, hogy számomra teljesen értelmetlen a válasz, hiszen HTML fájlba nem lehet php-t futtatni, így nem is tudom dinamikussá tenni az oldalt)

Kérdésem az lenne, hogy van-e mód arra, hogy a php fusson, és érzékeljen miközben az oldal kint van az ablakban, vagy esetleg, ha erre nincs, akkor hogyan lehetne megoldani hogy a különböző kategóriák között lehessen válogatni több szinten (lásd pl VATERA termék eladása), de a FORRÁS megtekintésekor ne tünjön elő a 300 soros értékadó JavaScript?

Előre is köszönöm a segítséget, tanácsot!

Szerk: lezárva, nem JPSPAN support téma
 
1

Ajax

Ajnasz · 2006. Dec. 2. (Szo), 11.30
Ajax-szal megoldható a problémád szerintem.
2

Ismeros

Anonymous · 2006. Dec. 2. (Szo), 11.33
Arra gondolt az ismerosod szerintem, hogy a form egy PHP filera hivatkozik es az ad utana ki valamit.
3

Ajaj

Anonymous · 2006. Dec. 2. (Szo), 13.04
Hát az Ajaxot nem ismerem.

Azt meg, hogy az ember mire gondolt nem tudom... De igazábol Azt kérdezük tőle, hogy futhat-e a háttérben a php és erre válaszolt. Ha a form hivatkozik PHP-re az pedig ujratölti az oldalt, és nem a háttérben fut...

Ismereteitek szerint futhat a háttérben a php??? Mármint folyamatosan.
4

kliens-szerver

jbtibor · 2006. Dec. 2. (Szo), 13.33
A php folyamatosan fut, de a SZERVEREN. A html pedig a KLIENSEN "fut", egy browserben.
A klikk események a browserben, azaz a kliensben történnek, és önmaguktól nem hagyják el a DOM-ot. A szerver (a php) csak akkor értesül róla, ha te ezt megírod a kliensben.

A kliens a szerverrel kétféleképpen kommunikálhat:
1. Normális http get vagy post, ez az oldal újratöltését eredményezi.
2. A kliens oldalfrissítés nélkül küld egy kérést a szerverre. Ezt jelenleg szkriptből teheti meg, jellemzően javascriptből, pl. XmlHTTPRequest segítségével.
Szerencsédre erről már majdnem semmit nem kell tudj, ugyanis Ajax néven összefogták az ehhez szükséges dolgokat, és sok ingyenes framework van hozzá. Olvass utána, nézd meg a példákat, és csináld meg a te oldaladon is.

A weblaboron és a neten keresve is rengeteg leírást és példát találsz.
5

Ez már valami!

Anonymous · 2006. Dec. 3. (V), 10.31
Hát utána néztem a témának... Igen, ez lesz az tuti. Sajnos angol nyelvtudásom nem a legjobb, így az angol nyelvü leírásokat hanyagolnom kell. Magyarul csak 1 leírást találtam, ami nekem érthető volt: www.geigerpeter.hu . (Találtam itt is néhány leírást, de sajnos az ittenieket kevésbé tudom használni). Ha esetleg tudtok másik, egyszerübb, magyar leírást akkor dobjátok be ide a linknek pliz. Muszály lenne elég részletesen megértenem a témát, hogy megfelelően használjam az AJAX-ot. Továbbá nagyon megköszönném, ha le tudnátok írni a felhasználás kereteit (azaz pl mikor/mire NE használjam az AJAX-ot), mikor müködik jól, és mik a felhasználásának határai, mire figyeljek. (Itt olvastam, hogy több száz adatot egyszerre ne küldjek, mert az nagyban lassitja a rendszert IE alatt).

Köszi az eddigieket is. Sokat segítettetek.
6

Hozzáférhetőség

Anonymous · 2006. Dec. 3. (V), 13.03
Igazából az AJAXnak egy hátránya van, de az nagy. Viszonylag nehéz hozzáférhetőre megcsinálni. Ja, és arra is figyelni illik, hogy nem kell agyonbombázni a szervert AJAX kérésekkel, ha nem muszáj. A blogmarkokban rengeteg AJAXos dolog van, érdemes rászánni az időt a kutakodásra.
7

Hozzáférhető?

Anonymous · 2006. Dec. 4. (H), 14.12
Mit jelent az, hogy hozzáférhetőre megcsinálni? Ha megcsináltam az oldalt, akkor mindenkinke hozzáférhető. vagy mire gondolsz pontosan?
8

accessibility

Táskai Zsolt · 2006. Dec. 4. (H), 14.18
Accessibility: http://en.wikipedia.org/wiki/Accessibility

Web Accessibility Initiative: http://www.w3.org/WAI/

amiről te beszélsz, az az "elérhető", attól még nem hozzáférhető. vakok, gyengénlátók, mobilosok, megértési nehézségekkel küzdők, egérhasználatban hátráltatottak, stb.
10

Ismét kérdés

Anonymous · 2006. Dec. 6. (Sze), 15.13
Letöltöttem JPspan-t ami ha jól tudom szintén Ajax. Az érdekes felfedezésem az volt, hogy sajnos php-s fájlt nem fogad el kliensnek. Csak HTML fájl lehet a kliens. Jól vettem ezt észre, vagy valamit elrontottam? És ha igen, miért?
11

Még1 kérdés

Anonymous · 2006. Dec. 6. (Sze), 22.31
nem teljessen értem még a JPspan-t azonban felmerült az a probléma is, hogy hogy a serverről leküldött szövegben az ékezeteket nem kezeli... Erre esetleg tudtok valamit?

thx.
12

karakterkódolás

juhasztibi · 2006. Dec. 7. (Cs), 02.53
http://weblabor.hu/cikkek/karakterkodolasiproblemakkikuszobolese
13

Köszi

Anonymous · 2006. Dec. 7. (Cs), 10.48
Köszi a cikket. Ez hasznos infókat nyujt. Azonban a jelenlegi esetben az a problémám, hogy az Ajax-os rendszerben a SZERVER.PHP -ba (ami ugye a kliensemnek válaszolna) beírt ékezetek (szöveges, POST-os a válasz) a kliensnél már ? jelként jelennek meg. Mindkét file karakter készlete közép európai (windows-1250). Valószínű ugye, hogy az a funkció amelyik leküldi a kliensnek az adatokat küld egy fejlécet is és ott nincs megadva a megfelelő karakterkészlet. Épp ezért a postoffice.php-t is átállitottam, de sajnos nem segített. :(
14

UTF-8

Anonymous · 2006. Dec. 7. (Cs), 15.13
Az ajax ragaszkodik az UTF-8-hoz és abban küldi el, bármit állítgatsz neki.

Marci
15

esetleg itt

juhasztibi · 2006. Dec. 7. (Cs), 20.51
Szia,

kicsit utánanéztem a problémádat és első találat az a következő

http://www.prog.hu/tudastar/57552/Ajax+UTF-8+ekezet.html

esetleg ez megoldhatja a problémádat, lehet már nézted ezt de ha nem akkor hajrá.
Lehet nem illendő idelinkelni ezt a linket, de ha segíthet akkor...

üdv
16

Köszönet!!

Anonymous · 2006. Dec. 10. (V), 20.55
Nagyon sok köszönet nektek! Sokat segítettetek. Végül sikerült beüzemelnem. Áttértem minden fájlnál az UTF-8 kódolásra, sőt az adatbázisban is erre tértem át. Átolvasgattam a linkeket amiket adtatok, és amit találtam az AJAX-ról. Tehát köszönet. Lenne azonban egy további kérdésem is. Úgy tünik, hogy korlátozva van a POST-al visszaküldhető adatok mennyisége. Ugyanis egy adatmennyiség után kiírja, hogy lezáratlan konstanslánc. Erre tudnátok valamit mondani, vagy velehol utána olvashatnék, hogy hogyan tudok más módban küldeni adatokat?

További köszönet.