- SUSE Linux
- Hálózati / IP kamera
- Újabb államok perelik az Apple-t, mert sok pénzt szed ki a vevőkből
- Router gondok
- Alternatív kriptopénzek, altcoinok bányászata
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Csinált valamit a Nokia: megváltoznak a telefonhívások
- Otthoni hálózat és internet megosztás
- Gépész 3D tervezőrendszerek
- Synology NAS
Aktív témák
-
Protezis
őstag
A Kérdések html szerkesztésről topikban vetődött fel az igény egy ajaxos topikra. Íme. Aki nem tudja mi ez, olvassa el ezt: [link]
Saját szavaimmal, tömören: Az ajaxxal lehetséges egy weboldal egy kis részének módosítása a teljes oldal újratöltése nélkül. Ezáltal rugalmasabb, gyorsabb oldalak építhetők.
Aki el szeretne indulni, az készüljön fel, hogy mind szerveroldalon, mind kliensoldalon problémákba fog ütközni, és az ajax nem megkönnyítiti, hanem inkább úgy fogalmaznék, hogy megváltoztatja a webes programozást. Komplexebb feladatok elvégzésekor már nehézkesebb például átlátni, hogy egy újonnan betöltendő php-kódban (ami az oldal egy piciny részét fogja megváltoztatni) milyen javascript változók érhetők el. De az eredmény mindenképpen feledteti a nehéz próbálkozásokat, így azt mondom, megéri
Én rövid ismerkedés után egyből a különféle AJAX toolkitekhez nyúltam.
Aki nem így tenné, illetve a kíváncsiaknak ajánlom ezt: [link]
Itt pedig rengeteg hasznos link vár rátok: [link]
Térjünk vissza a toolkitekhez, framework-ökhöz (hogy kell ezt leírni ).
Kliens oldal esetén ezek előre megírt javascript kódok, melyekkel rengeteg időt és munkát megtakaríthatunk. Ilyen pl.: prototype - [link], Dojo - [link], itt pedig egy halom hasonló, illetve szerveroldali keretrendszer linkje elérhető - [link]
Szerveren nem használok ilyesmiket, eddig saját php kóddal boldogultam.
Jómagam a prototype-ot használom. Van hozzá egy elég jó dokumentáció magyar fordításban is: [link] Ezt ajánlom olvasgatni.
Ezenkívül létezik a prototype-ra épülő effektező, csicsásító js, a Rico: [link]
Szinte mindenhol rendetek példa és demo található. Dokumentációban viszont elég szegényesen állunk, talán ezért is választottam a prototype-ot.
A napokban egy problémába ütköztem, amit azóta sikerült ''kijavítanom''. Operában nem működtek a js kódok az Ajax.Updater használatakor. A hibát úgy lehet megszüntetni, ha átírjuk a js fájlban az evalScripts függvényt. A megoldás itt található: [link]
Várom a kérdéseket, tapasztalatokat, linkeket, saját oldalakat. Jó programozást!
[Szerkesztve]Ubiquiti EdgeRouter 4 eladó
-
Tele von Zsinór
őstag
AJAX-al lehet bináris információt is továbbítani? Vagy esetleg méterváltozás miatt nem is éri meg? Konkrétan egy galériában kéne a képet cserélni, és hogy ne mindig az egész oldalt kelljen újra letölteni.
-
Protezis
őstag
válasz Tele von Zsinór #3 üzenetére
Nem értem, miért lenne erre szükség (de azt se, mire gondolsz)
Elmondom az én javaslatomat: vegyünk egy php fájlt. Ez kap url-ben egy változót, hogy hanyadik képtől listázzon. Ez a fájl a megadott képtől kiír mondjuk 9 képet.
Ezenkívül van a galériád, amiben van egy nagy div, amiben a képeket látod. Rákattintasz, hogy következő oldal, akkor szépen létrehoz egy (protoype-ra gondolok) objektumot, melyben a paraméter a korábbi paraméter + 9. Meghívja a php-t, és az eredményt megjeleníi a nagy divben. Ennyi az egész. (azt is elárulom, hogy az Ajax.Updater osztályt kell használni)Ubiquiti EdgeRouter 4 eladó
-
Tyrael
senior tag
pont arra gondolt amit irsz.
szal van egy portal, mint pl. a prohardver.
ennek van header, footer, menu resze, illetve van egy main resz, ahol az aktualis link tartalma jelenik meg.
namost ajax nelkul egy galaria esetben, ha a kovetkezo 10 kepet akarja megtekinteni, akkor ujbol fel kell epiteni az egesz oldalt (hacsak nem framekkel dolgozol, de az manapsag mar ''ciki''), ami ugye jelen esetben felesleges, hisz a galeriat korbevevo keretrendszer nem valtozik meg. ezert lenne jo megoldas, ha ajax-xal, csak magukat a kepeket cserelned ki a galeriaban.
Tyrael -
Protezis
őstag
Azt értem, mit akar megvalósítani, csak azt nem, hogyan.
A prototype magyar dokumentációját tényleg ajánlott olvasgatni. Tele van példákkal. 1-2 óra után működő ajax tesztoldalt létre lehet hozni (feltéve, hogy az illető konyít js-hez és mondjuk php-hez)
A kérdéséből kiderül, nem igazán érti, hogyan is működik az egész (szerintem hasonlóan akarná a képeket felhasználni, mint ahogy css fájlban is eltárolhatunk egy képet)
Ez ennél azért egyszerűbb. Ilyen tekintetben hasonlít a framekhez (iframe-hez)
Mod: Ha nem érteném, nem adtam volna megoldást a problémájára
[Szerkesztve]Ubiquiti EdgeRouter 4 eladó
-
Tele von Zsinór
őstag
Annyi lenne a cél, hogy a honlapomon a galériában ha rányomnak, hogy következő kép, akkor ne a teljes oldalt kelljen újragenerálni és letölteni, hanem AJAX-al csak maga a kép cserélődjön. Viszont nem tudom, hogy mennyire lehet vele bináris adatokat küldeni, eddig csak szöveges használatra láttam példákat.
Persze az is lehet, hogy félreértem, mi is ez a technika pontosan. Én úgy látom, hogy igénytől függően, javascriptből történő kérésekkel és xml válaszokkal az oldalnak csak egy bizonyos része változik (javítsatok ki, ha tévedek), pl hogy egy adott webrádióban épp milyen szám megy.
Az oldalamon nem használok semmilyen framet, ellenben a lényeges tartalom jól azonosítható div-ekben van. -
Tyrael
senior tag
válasz Tele von Zsinór #8 üzenetére
figy, ha nem adatbazisban tarolod a kepet magat, akkor ugyis csak a kep eleresi utjat kell lecserelni, nem?
Tyrael
[Szerkesztve] -
Protezis
őstag
válasz Tele von Zsinór #8 üzenetére
Elég rendesen félreértelmezed.
Alapból lenne egy ilyen hívásod, az 1.jpg képet akarod megjeleníteni.
showimg.php?sorszam=1
A php pedig mindösszesen ennyit csinál:
print ''<img src=\''''.$_GET['sorszam'.''.jpg\''>'';
Az oldalban, ahol meghívtad, ott pedig nem linkként hívod meg a fenti url-t (nem href-ben), hanem létrehozol egy Ajax.Updater objektumot, abban beállítod az url változót showimg.php-re, a paramétert megadod sorszam=1-re, beállítod, hogy get kérés lesz, valamint megadod a div id-jét, ahová beakarod tölteni a showimg.php által visszaadott html kódot. Vagyis mikor rákattintasz a következő kép linkre, akkor egy javascript hívást kell csinálni, ami majd szépen elvégzi a php fájl meghívását.
De mint mondom, a prototype magyar nyelvű dokumentációjában lefelé görgetsz 13 -szor, és ott lesz egy szemléletes példa az Ajax.Updater használatára (a link az 1. hsz-ben, de itt van újra: [link]). Ennél jobban nem tudom elmagyarázni, max ha megírnám (amit ennyi idő alatt meg is tehettem volna)
Mod: Az Ajax.Updater osztály ( a prototypeban) direkt akkor jó, ha html kódot kapunk a szervertől
[Szerkesztve]Ubiquiti EdgeRouter 4 eladó
-
Tele von Zsinór
őstag
Hmm, ha jól értem, amit mondasz, meg jól olvasom a doksit, akkor csak kissebb hibákat vétettem.
A tervem az (volt? lehet más lesz a végén), hogy amikor a következő kép-re kattintanak, akkor hozok létre egy Ajax.Updater-t, ez küldi a kérést a scriptnek, ami a galéria és a kép id alapján megadja a kép uri-jét meg még 1-2 dolgot, visszaküldi, és a callback függvény pedig szépen belerakja a megadott divbe.
Az általad itt is linket példában is ha jól látom hasonlót művel. -
Tyrael
senior tag
ajax használatához szükség van a szerveren valamilyen specialis programra, vagy beallitasra?
vagy siman lehet hasznalni az ingyenes tarhelyeken is?
Tyrael -
Protezis
őstag
válasz Tele von Zsinór #12 üzenetére
Pontosan. De maga a kép átküldése helyett a html kódot kell utaztatni a szerver és a kliens között (persze utána majd letölti a kliens a képet).
Tyrael: simán lehetUbiquiti EdgeRouter 4 eladó
-
Tele von Zsinór
őstag
Na, első működő verzió itten: http://maerlyn.extra.hu/index.php?page=gallery
[Szerkesztve] -
emitter
őstag
javascripttel is lehet ilyen részlegesen változó tartalmat, nem?
ez ha jól látom, azzal van megoldva [link]
(középen: Üdvözlet Licensz Verzió Hosting)
manapság már mindenik böngésző támogatja ajaxot?
mod: az ajax csak egy kiegészítő-nyelv, vagy teljes egészében életképes önállóan, pl php v . asp helyettesítésére?
[Szerkesztve] -
emitter
őstag
válasz Tele von Zsinór #20 üzenetére
thx
-
Cartman002
aktív tag
Na úgy látom elég régen jött ide üzenet
Mindegy, felelevenítem kicsit a topicot.
Először is egy olyan kérdésem lenne, hogy a hivatalos dokumentációt, vagy vmi hasonlót hol találok? Ha van rá mód akkor magyarul, de angol se rossz, csak legyen vmi
Mert csak tutorialokat találok, abból meg nem lehet sokeat tanulni -
skera
tag
válasz Cartman002 #23 üzenetére
Az Ajax használatához én a Prototype JS Framework-öt(keretrendszert) javasolnám. Ott pedig az Ajax.Updater, vagy valami ilyesmi nevű osztályt keress. Ha általánosságban vett leírás kell, ott a Wikipedia.
- [link]import szte.ttk.ptm.*;
-
Radíros
csendes tag
Tudja valaki mi a helyzet a szabványosítás-fronton?
(ISO, ECMA, vagy valami szállítói szövetség...?) -
Forest_roby
őstag
Hi!
előzmények: [link]
RedAnt:
Na az igazat megvalva, már a php - mysql megértése is nehezemre esik, de ebből egy árva betűt alig értek.
Hol van ebben a readfile() php-s fv? Még mindig azon a progin gürcölök, ami egy védett mappa filejait litázza ki, egy sima javascript erre nem hiszem, hogy képes lenne.
(egy kis magyarázatot, please!)
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
RedAnt
aktív tag
válasz Forest_roby #26 üzenetére
Oké, szóval amit leírtam, az egy külön javascript fájl tartalma, mondjuk open.js, amit a head részbe beteszel (<script type=''text/javascript'' src=''open.js''></script>)
A link pedig a következőképp nézne ki:
<a href=''#''' onclick=''openfile('fuggveny.php')''>megnyitás</a>
Tehát ha valaki rákattint a linkedre, a js fájlban leírt openfile függvény hívódik meg, fuggveny.php paraméterrel.
A fuggveny.php-be pedig belepakolod a php kódot amit szeretnél hogy lefusson mikor a linkre kattint valaki.
A javascriptes cucc felel azért, hogy a fuggveny.php meghívódjon. Van benne egy handleOpen függvény, ami arra jó, hogy a php által visszaadott szöveget feldolgozd, esetleg megjelenítsd az eredeti oldalon, ha szükséges.
Készítettem egy egyszerű demonstrációt, hogy ne csak kódrészletekkel dobálózzunk, hanem lásd működés közben: [link]╚╦╦╦
-
Forest_roby
őstag
Nagyon szépen köszönöm, mostmár ezt is tudom - ez nagyon hasznos.
/ de... hát igen, megin ott van az a de. tegnap este már igen fáradt voltam, azért nem írtam be, de közben rájöttem egy meglehetősen egyszerűbb és valószínűleg gyakoribb megoldásra. a linkben egy php file-ra hivatkozok, aminek átadom a megnyitandó file paramétereit + hogy be vagyok jelentkezve és ez a php file semmi mást nem fog tudni csinálni, mint megnyitni readfile-lal a file-t
vmi ilyesmi:
<a href='view.php?<?=SID?>' target='_blank'>open</a>
ez elvileg jó lesz
/
Még egyszer köszönöm!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
RedAnt
aktív tag
válasz Forest_roby #28 üzenetére
De ekkor megnyílik egy új ablak a hivatkozott php fájlnak, vagy az nem gond? Ezt lehet elkerülni az ajaxos megoldással.
╚╦╦╦
-
Forest_roby
őstag
Valószínűleg mégiscsak ezt az ajaxos megoldást választom, mert még nem értem 100%-osan ezt a session_start(); session_register(''változó''); + ....php?'' . SID . kapcsolatát.
( pl, mi van ha nem egy, hanem 2 változót akarok továbbadni, akkor 2 SID -et kell belerakini /szóval még nem 100%osan világos a dolog : ( )-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
skera
tag
válasz Forest_roby #30 üzenetére
Hmm 1 sessionbe: ''valtozo1;valtozo2'' es utana split('';'',sessionvaltozo). Bar biztos van jobb megoldas...
import szte.ttk.ptm.*;
-
Protezis
őstag
válasz Forest_roby #30 üzenetére
akkor csinalsz egy ilyet:
$_SESSION['nev' ] = $nev;
$_SESSION['cim' ] = $cim;
a session_start fuggvenyt mindig meg kell hivnod, ha hasznalni akarod a sessionoket.
Egyik kotelezoprogramomat bemutatnam itt, leven ajax hivasokat hasznal, prototype fuggvenykonyvtar segitsegevel. [link]
Nev: admin, jelszo: admin
Ha valakinek valamilyen kerdese lenne, szivesen valaszolok. Az oldalon termeszetesen sok dolog nincs megvalositva, esetleg nem hatekonyan mukodik, de kotproginak boven eleg volt.
Remelem rosszandeku emberek nem durjak szet. ( bar tul sok kar nem erne)
Akar konkret forraskodot is kozzetehetek, ha erdekel valakit (bar eleg csunya lett...)
[Szerkesztve]Ubiquiti EdgeRouter 4 eladó
-
RedAnt
aktív tag
Szép!
Ami ezzel kapcsolatban felmerült bennem kérdés, hogy mennyire érdemes ilyen előregyártott függvénykönyvtárakat használni? Mert az alapokhoz elég szerintem egy-két függvény - ha csak pár php bizonyos paraméterek mellett visszaadott tartalma érdekes, ahhoz minek prototype? Vagy a feldolgozásukat segíti? nem nagyon néztem bele hogy pontosan mit csinál a prototype, meg az egész témában elég kezdő vagyok
Csak mert ahogy nézem, te is használsz egy saját js-t, nem lett volna egyszerűbb közvetlenül azzal elvégezni a betöltő feladatokat, mint egy nagy külső függvénykönyvtárral?╚╦╦╦
-
Forest_roby
őstag
Hi!
Látom sok ember van itt a ph! -n aki ért ehhez a dologhoz... és még segítetek is a fejlődésemben. : ) [happy]
Forráskód: Részemről én köszönöm a felajánlást, de nem kérem ennek az oldalnak a forrását, nem lenne szép tőlem ha visszaélnék vele -persze ez csak rajtam áll, de még a lehetőséget se szeretném megadni magamnak.
Viszont, ha már forrásoknál tartunk. 2db php file, ahol az egyik átad a másiknak több ( min 2db ) változót ilyen session -os módszerrel az jól jönne, csak a megértés miatt.
A prog.hu -n van egy ilyen beléptetős oldal forrása -azt letöltöttem és nézegettem, de az igazat megvallva nem világos minden lépés. Lényeg az, hogy elég bonyolult így elsőre.
Van egy előzménye is -egy counter.php oldal, ahol ilyen módszerrel hívogatja magát a php és mindig növeli eggyel az éppen aktuális counter értéket -nyilván a couter értékét adja tovább magának az oldal. Ez meg azért kevés, mert nem tudom, hogy minek kell benne lennie a küldő php file -ban és minek a fogadó php file -ban, mert itt egyben van a kettő és ráadásul csak egy változó van.... : (
Na akkor mégegyszer!
kérdéseim: ha van 2db php file és az egyikből át akarok adni a másiknak változókat, akkor melyik php fileban mit kell csinálni, hogy működjön a dolog? / erre nyilván jó lenne egy ilyen jellegű forrás /
Vagy lehet, hogy félreértem az egészet és hülyeségeket kérdezek *
Bocs az OFF-ért ez nem ide tartozik..
Köszi az eddigi segítséget!
skera: köszi neked is!
Forest
*ez azért jutott most eszembe mert a login –os oldalon is valahogy úgy volt megoldva, hogy minden php file elejére includolva van a login.php, ami az egész session –os cuccért felelős és persze annak a kiértékeléséért is. Így ha továbblépek egy likre, akkor az átküldött adatokat szintén a küldő dolgozza fel – végeredményben itt is magának küldi az adatokat a php file – hú ez lehet, hogy nagyon nem érthető. ( forrás: [link] )
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Protezis
őstag
Nagyon alap dolgokhoz nyilvan nem kell. Viszont ha egy picit is tobbet akarsz, szerintem erdemes valamelyiket hasznalni. (Pl szabalyozni lehet, hogy a betoltott tartalomban lefussanak -e a scriptek. Ezt mar nem lenne kedvem megirni) En csak egy nagyon kis reszet hasznalom a prototypenak, de szerintem mar ekkor is megeri hasznalni. Egyreszt, nincs vele annyi szivas, masreszt nalam okosabbak irtak, valoszinuleg jobb is lett, mintha en csinaltam volna, harmadreszt rengeteg hasznos dolog van meg benne, ami nem kapcsolodik az ajax-hoz, de megkonnyiti a javascriptes eletunket.
Elegcsak atfutni a manualt, nagyon erdekes lehetosegek allnak rendelkezesunkre.
pl.:
$A, Ajax.Responders, Ajax.PeriodicalUpdater, Field objektum, Form objektum, stb.
A sajat js fajlomban a prototypeot hasznalom. Az altalam definialt fuggvenyeket hivom meg az oldalrol. Ezek a fuggvenyek vegzik el az ajax hivasokhoz az elokeszuleteket (url osszerakasa, megfelelo osztaly peldanyositasa, cel megadasa, ahova az uj tartalom kerul stb.)
Raadasul ott a Dojo, amivel szep effekteket csinalhatunk az oldalra. Ehhez pedig kell a prototype. De a napokban neztem meg az Adobe Spy framworkot, es nagyon jonak tunik. [link]
Szerintem nezegesd meg, melyik fuggvenykovtar mit tud, gondold at mire van szunkseged, aztan amint rajosz, hogy lusta vagy olyanokat irogatni, amiket masok mar megirtak, be is izzithatod valamelyiket.Ubiquiti EdgeRouter 4 eladó
-
Protezis
őstag
válasz Forest_roby #34 üzenetére
Ugy latom, neked nem a megvalositassal, hanem magaval a mukodessel van gondod.
Leirom, hogy zajlik az ilyesmi.
Megadod a neved, jelszavad. Rakatt a belepesre. Az meghivja az action.php fajlt, get parameterekben a nevet, jelszot:
action.php?nev=csongor&jelszo=zsiguli
Az action.php megnezi, letezik -e ilyen nevu felhasznalo ilyen jelszoval. Ez egy pl. mySQL lekeressel elerheto, de legyen te esetedben statikusan, benne a forrasban.
action.php:
<?php
session_start();
if (isset($_GET['nev' ]) && isset($_GET['jelszo' ]) && $_GET['nev' ] == 'csongor' && $_GET['jelszo' ] == 'zsiguli') {
$_SESSION['nev' ] = 'csongor';
$_SESSION['jelszo' ] = 'zsiguli';
}
header(''Location: index.php'');
?>
Mikor az index.php-t betoltjuk, a szerveren egy fajlban mar letezik az adott felhasznalo neve es jelszava, felteve, hogy sikeresen bejelentkezett.
<?php
session_start();
if (isset($_SESSION['nev' ]) && isset($_SESSION['jelszo' ])) {
print $_SESSION['nev' ];
print $_SESSION['jelszo' ];
} else {
header(''Location: login.php'');
}
?>
kijelentkezesnel hivd meg a
session_destroy() fuggvenyt.Ubiquiti EdgeRouter 4 eladó
-
Forest_roby
őstag
no, ez talán felnyitottam a szememet, a megvilágosodás, majd akkor lesz, ha ezt otthon kipróbálom és működik! ( nyilván működni fog, de a próbánál lehet igazán az ilyeneket megérteni - én legalábbis így vagyok bekötve )
Egy kicsit más ( továbbra is off ): ezzel a header -rel már máshol is összefutottam, de ott nem ilyenre használták.
Ha jól látom, akkor itt a header betölti a 'Location: ****.php linket az adott oldalra? Ez majdnem költői kérdés, mert bár nem ismerem ezt a fv-t, elég nyilvánvaló, hogy itt mi történik.
Amikor a readfile fv-nél összefutottam ezzel, akkor ilyen: Content-type, Content-Disposition cuccok voltak a belsejében - ott nem tudtam volna megmondani, hogy mire jó ez a fv.
más:
isset($_GET['nev' ]) && isset($_GET['jelszo' ]) - ez miért kell?
a $_GET['nev' ] == 'csongor' && $_GET['jelszo' ] == 'zsiguli' nem lenne elég?
Lehet, át kéne húznom a php topicba.
Köszi mégegyszer!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Protezis
őstag
válasz Forest_roby #37 üzenetére
Az isset() fuggvennyel ellenorzod, hogy egyaltalan letezik -e az adott valtozo.
Oszinten most nem tudom, mi van, ha nem ellenorzod, es a megfelelo valtozok nelkul hivod meg az action.php-t. Valoszinuleg hibat dob.
Az emlitett if felteleleben mivel minden feltetel ES-elve van, amint nem teljesul valamelyik, a php motor a tobbit mar nem is ellenorzi (vagyis csak gondolom, nem vagyok nagy php-s, C-ben igy van, szerintem itt is)
A peldat nem probaltam ki, itt hoztam ossze, szoval nem 100%, hogy mukodik, de ha mar erted a dolgot, akkor celba ertunk.
Igen, a header-rel tudsz automatikusan masik oldalt betolteni. Ezen kivul ''barmilyen'' tartalmat is atadhatsz vele a bongeszonek, pl pdf-et, stb.
Ekkor termeszetesen be kell allitani a kodolast, a tipust, miegymast.Ubiquiti EdgeRouter 4 eladó
-
Forest_roby
őstag
Hi!
RedAnt -tól kaptam a scriptet, amit egy kicsit módosítottam:
js/open.js:
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject('Microsoft.XMLHTTP');
} else { // regi a bongeszoje
}
}
var http = getXmlHttpRequestObject();
function openfile(path,requests) {
if (requests) {
theurl = path+'?file='+requests;
}
http.open('get', theurl);
http.onreadystatechange = handleOpen;
http.send(null);
}
function handleOpen() {
if (http.readyState == 4) {
var response = http.responseText;
document.getElementById('valasz').innerHTML = response;
//location.href = response; //nem műxik
}
}
Az a baj, hogy ha ezt meghívom a megfelelő modon, akkor a file tartalmát kiírja a valasz részhez pedig én azt szeretném, hogyha bejönne a mentés ablak és a file -t le tudnám menteni.
Hogy lehetne ezt megoldani?
ja a open.php file:
<?php
$_GET[''file''];
//print ''<br><br>file neve: ''.$_GET[''file''].''<br><br>'';
$path = ''/var/www/download/''.$_GET[''file''];
header('Content-Description: File Transfer');
header('Content-Type: application/force-download');
header('Content-Length: ' . filesize($path));
header('Content-Disposition: attachment; filename=' . basename($path));
readfile($path);
?>
(kell még vmi? ls.php -ból hívom meg a js-filet így:
<a href=\''#\'' onclick=\''openfile('open.php','$entry')\''>megnyitás</a>
)
előre is köszi a válaszokat!
Forest
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #39 üzenetére
Hosszú, hoszú, nagyon hosszú probálkozások után megtaláltam a pofon egyszerű megoldást!
open.js:
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject('Microsoft.XMLHTTP');
} else { // regi a bongeszoje
}
}
var http = getXmlHttpRequestObject();
function openfile(path,requests) {
if (requests) {
theurl = path+'?file='+requests;
}
location.href = theurl;
}
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Próbálgatom az ajax lehetőségeit, de egy számomra sülyos problémába ütköztem. Menűpontokkal betöltök különböző tartalmi részeket ajaxal az oldalra, eddig nincs is semmi probléma, de ha rányomok a frissités gombra, akkor nem az adott oldal frissül, hanem az eredeti kezdőoldal töltődik be. És még ehhez a problémához tartozik, hogy így csak a kezdőoldalra tudok hivatkozni linkkel, a menűpontokra már nem. Van erre vmi megoldás? Eléggé fontos lenne, hogy ezt vhogy orvosoljam.
itt egy link: [link] , de ez nem is félkész, inkább 10ed kész. Folyamatossan bővítgetem az oldalt, fejlesztgetem, de még közel sincs kész.
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
skera
tag
válasz Forest_roby #41 üzenetére
Igen, ez volt a problémám nekem is. Szerintem próbálkozz cookieval, ami az oldal linkjét eltárolja.
import szte.ttk.ptm.*;
-
SEK3
tag
Hali,
Végigfutottam a témát, de hiányolom a hogyan elindulni részt...
Már ezer éve szeretnék egy weblapot készíteni. Olyat, ami jó és vannak látogatók is, de tudásilag problémákba ütköztem....Kiderült, hogy nem elég a Word, be kell vágni a html nyelvet, aztán meghogy van az a css, amivel csodákat lehet művelni, majd ha szeretnél olyat, hogy felhasználok, akkor fúú ...első találkozásom a php parancsaival. Mostmeg... mi is ez? AJAX?
Szóval szeretném turbósítani tesztoldalam egypár aktív elemmel. A php erre ugye nem képes, azt hallottam, hogy az ajax meg igen. Ha nem tévedek akkor az ajax meg a JS kisfia, nahát... a JS-hez meg picit se konyítok...a kérdés: miből tanuljak? vagy hogyan lehet ezt megtanulni, megismeni? valami olyan lenne jó, mint a '24óra alatt'...és ha szeretném alkalmazni az ajaxot, akkor mennyire kell ismernem a JS-et?
kicsit meg vagyok zavarva -
Protezis
őstag
Az AJAX neve is utal ra, hogy javascript ismeretek nelkul nem igazan fogod tudni hasznalni: [link]
Mielott ajaxxal kezdesz foglalkozni, ismerkedj meg a javascripttel, es egy szerveroldali nyelvvel (pl. php). Ha HTML-lel se vagy tisztaban... akkor nagyon eltevedtel.
Nem akarlak megbantani, de olyan ez, mint amikor a lelkes fiatalok elhatarozzak, hogy irnak egy fps jatekot ugy, hogy azt se tudjak, mi az a valtozo.Ubiquiti EdgeRouter 4 eladó
-
Protezis
őstag
Eloszor talan valamilyen szerver oldali nyelvvel ismerkedj meg. Ajanlom a PHP-t. Ha megy a dinamikus tartalom eloallitasa (ez ugye szinkron kommunikaciot jelent a kliens es a szerver kozott), akkor lephetsz meg egy lepcsofokot, es johet a javascript, es az aszinkron kommunikacio, vagyis az ajax.
Ubiquiti EdgeRouter 4 eladó
-
SEK3
tag
értem én, és most a php-t tanulom, csak tudni akartam, hogy mi jön utána. nahát [pont]
-
tkazmer
addikt
megpróbálkoztam ezzel az ajax dologgal, valamennyire megy is, bár kész kódokból mazsolázok, viszont adódott egy szövegkkódolással kapcsolatos problémám:
pl a síelés szó így jelenik meg: sĂelĂŠs
az adatbázis kérésnél be van állítva a szövegkódolás, a html lapon is, úgy hiszem, hogy valahol a javascriptes értéktovábbításnál veszhet el.
Nem nagyon értek a javascripthez, csak az ajax kapcsán kezdtem el vele foglalkozni, így sajnos még nem tudom értelmezni teljesen a kódot.
Az lehetséges, hogy az encodeURI függvény zavar be? Ezen kívül más pontos ötletem nincs, talán ez:http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
vagy ez:
http_request.overrideMimeType('text/html');
ha egyik sem, akkor mit keressek? viszonylag hosszú a kód, nem akarom bemásolni, elég hosszú hsz lenne.
ha esetleg mégsem a js-nél lenne a gond, azzal kapcsolatban is szívesen fogadok ötleteket, de eddig, ajaxezés nélkül, működött...úgy tervezték, hogy kibirjon egy atomtámadást is. De nekünk komolyabb fegyvereink vannak, mint pl Béla bá, a földmunkagépkezelő
-
bLaCkDoGoNe
veterán
Sziasztok,
A következőt szeretném megcsinálni: adott egy adatbázis, táblákkal, amik kapcsolódnak egymáshoz bizonyos kulcsokon keresztül (eddig egyszerű), meg weboldalak PHP-ben. Azt szeretném megcsinálni, hogy ha weboldalon egy formban kiválasztok a lenyíló listából pl. egy nevet (vagy akármit), akkor egy másik lenyíló listában csak az adott névhez (akármihez) tartozó elemek jelenjenek meg. Mondjuk kiválasztok egy iskolai osztályt, és egy másik listában az osztálynévsor jelenjen meg (amiket az 'osztály' kulcs alapján kell leválogatni mondjuk a nevek táblából).
Nem tűnik nehezen kivitelezhetőnek a dolog, de nem írtam még ajaxos oldalt, ezért elkelne egy kis segítség.Köszi!
"«Fuck does Cuno care?» The boy turns to you. (He doesn't care.)" [+] "The parasite makes nothing for itself. Its only tools are taxes and tithes meant to trick you into offering what it has not earned. In Rapture we keep what is ours." [+]
-
bLaCkDoGoNe
veterán
Up
"«Fuck does Cuno care?» The boy turns to you. (He doesn't care.)" [+] "The parasite makes nothing for itself. Its only tools are taxes and tithes meant to trick you into offering what it has not earned. In Rapture we keep what is ours." [+]
-
cucka
addikt
válasz bLaCkDoGoNe #52 üzenetére
az ajax ugye két oldalból áll, van a js ami a kliensnél fut és van valamilyen szerver oldali backend. tegyük fel, hogy van az adatbázisban egy osztály és egy tanuló táblád. a tanuló táblában nyilvántartjuk az osztály_id-t.
namost kell egy olyan szerveroldali progit írnod (mondjuk php-ban, vagy amiben akarod), ami megkap az url-ben paraméterként egy osztály_id-t és az alapján visszaküld egy json tömböt az ahhoz tartozó tanulók nevével, id-jével. (json eccerű, keress rá)
a kliens oldali js az első lista módosításakor fut le, elküldi a http request-et a szerver oldali progidnak majd a visszakapott json tömbből feltölti a második listát.kb ennyi, nem annyira bonyolult
-
-
Briganti
tag
nekem lenne egy kerdesem ... [megcsinaltam ezt a tutorialt], ezzel nincsis gond, de ha nekem az oldalra kell egy masik suggest is, ami mas tablazatbol dolgozik, es mashol kell mutassa ... ugyanezt beteszem meg egyszer be kell rakjam es atirjam a function neveket, vagy van valami jobb megoldas is ?
koszi elore is! ha esetleg nem ertheto, akkor leirom pontosabban
If debugging is a process of removing bug, then programming is a process of putting them in ...
-
cadmester
tag
Fiygelmetlenségem miatt új témát nyitottam, tehát megpróbálom áthozni ide.
Előzmény:
Készítettünk egy kis webkamerás oldalt, amihez tartozik egy ajax-os vendégkönyv.
Kipróbáltam localhoston, minden működik, mint a karikacsapás. A szerverre föltéve viszont ha hozzászólok, nem frissíti az ajax a vendégkönyv tartalmát, s így nem látható a saját hozzászólás, csak egy frissítés után, de az ajax-al épp ezt szeretném elkerülni.
Az oldal címe: http://e4-317.extra.hu/Lortech válasza:
Van már ajax topik, nem kell még egy, oda írhattad volna.
Van egy ilyen sora a http://e4-317.extra.hu/guestbook.js -nek, hogy
if (response=='1') prepare_entries(); , tehát a webszervernek, illetve a php célnak a postra jóesetben egy '1' szöveget kéne kidobnia, de ebbe az extra.hu belepiszkít. Próbáld már meg átírni a js-t úgy, hogy kihagyod az if (response=='1') sort, és csak a prepare_entries();-t hagyod meg.Én:
Lenne még egy apró kérdésem. Ha az ember hosszú szöveget ír az 'üzenet' mezőbe, akkor egy részét a név helyén írja ki, másik részét pedig az üzenetnél. Ez valahogy nagyon nem jó. Ha pedig nagyon hosszú, egyszerűen levágja a végét.
Mi okozhatja ezt?
Megnéztem a mysql-ben ott jó helyre pakolja, szépen külön a nevet és külön az üzenetet. Visszaolvasáskor vagy kiíratáskor lehet gond...S látom, többen tesztelték hosszú szövegekkel, s az jól jelenik meg. Nem értem
CAD + FEA
-
cadmester
tag
-
azbest
félisten
Ajax-szal próbáltam adatokat lekérni különböző szervereken futó szolgáltatásoktól, és akkor koppantam, hogy az XMLHttpRequest-re is vonatkoznak a biztonsági megkötések, amelyek miatt csak ugyanazon az (al)domainen lehet a kért tartalom, mint a hívó oldal.
Neten körülnézve találtam egy megoldást kissé más alapokon (JSON-t emleget, de szerintem nem sok köze van hozzá):
A JSON-based design approach lacks AJAX's cross-domain restrictionsEzt alapul véve csináltam egy sokkal egyszerűbb demo-t, amivel lehet más domainen lévő adatokat is lekérni:
http://linked.drag2web.com/crossdomain/Nem olyan jó, mint az Ajax, mert nincs kezelve a lekérés állapota, de egyszerűbb esetekben megfelelő lehet. Nameg biztos lehet fejleszteni rajta, hogy azért jobban megközelítse az Ajax szinvonalát.
-
gaben
aktív tag
Ajax képes együtt működni olyna programmala ami java-ban van megírva?Tehát a java progrma irányít mindent,az AJAX pedig megjelenítésért felelős....Frankón működik ez így?
-
Lortech
addikt
Kérdés az, mit értesz az alatt, hogy együttműködni. Képes "együttműködni" bármilyen olyan alkalmazással ami tud beszélgetni vele HTTP protokollon keresztül, tökmindegy miben van írva. Máshogy nem képes együttműködni.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
Drizzt
nagyúr
Van nekem kérdésem:
Van egy ajaxtabsos weboldal, amin kell csinálnom ezt-azt. Elmagyarázom, hogy mi a baj, s meg szeretném kérdezni, hogy jól gondolom-e, hogy egyszerű megoldás nincsen rá. Az ajaxtabsos oldal úgy működik ránézésre, hogy van fent egy csomó tab, s ha ráklikkelsz valamelyikre, akkor behív egy php-t egy div-be, ami az oldalon van. Namost ilyen esetben ugye semmilyen módom nincsen arra, hogy az ajaxszal behívott oldal jellemzőit dinamiuksan szintén ajaxszal változtassam? A böngésző is csak úgy látja, hogy bennvannak a tabok, meg alatta a div, benne egy alapértékkel, ami az első tab tartalma.I am having fun staying poor.
-
félisten
Sziasztok!
Van egy form-om. Regisztrációra használatos. Post-al meg egy submit gombbal átnyomom a változókat a ment.php-nek, és kész.
Nos, ezt szeretném ellátni extrákkal.
pl. a php kód egyik fele ellenőrzi, hogy jól töltöttem-e ki az adatlapot, és hogy létezik-e a felhasználói név, vagy sem, és csak akkor dobja bele az adatbázisba a cuccot, ha minden oké. Mindezt úgy, hogy az oldal újratöltésénél ne regeljen mégegyet, és ne is nyafogjon, hogy már foglalt felhasználó név.Az okosok aszonták, hogy ehhez ajax kell. Hurrá. Viszont én még JS-hez sem értek, így sejtelmem sincs, hogy merre induljak, hogy építsek fel és mit.
Azért nem vagyok tök kezdő, alapvető progr. tudás megvan (c++, ActionScript, php).Ha netán valami pont idevágó tutorialt, vagy példaprogit tudtok, akkor ne kíméljetek!
A gugli túl sokat dob ki, és nehéz kitalálni, hogy mi kell nekem.Köszi!
[ Szerkesztve ]
Eladó régi hardverek: https://hardverapro.hu/apro/sok_regi_kutyu/friss.html
-
Sk8erPeter
nagyúr
Hali!
Mi az oka annak, hogy egyelőre megoldatlan az AJAX segítségével történő KÉPfeltöltés lehetősége?
A Flash-hez nem értek, de nem is nagyon akarok hozzá érteni.Köszi a választ.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #72 üzenetére
Nem tudom, miért hangsúlyoztam ki a KÉP szót (épp képfeltöltő szkriptekkel szarakodtam), nem csak erre vonatkozóan voltam kíváncsi a válaszra, hanem úgy általában a FÁJLfeltöltés lehetőségeire - az lenne az igazi, ha a fájlfeltöltés is megoldható lenne a lap újratöltése és Flash nélkül, szimplán AJAX-szal.
Sk8erPeter
-
Sk8erPeter
nagyúr
Én a jQuery AJAX-os API-ját ajánlanám, nagyon egyszerű és kézenfekvő kezelni, különböző böngészőproblémák többségét is megoldották, így nagyon tömör kódot lehet írni.
A jQuery oldalán nézegess példakódokat, rengeteg van, és abból tanulgass. (Remélem angoltudás van.)
Persze először értsd meg a jQuery alapjait. Itt van hozzá egy egész jó kis puska: [link], ehhez pluszban nézegesd a jQuery hivatalos oldalát.Sk8erPeter
-
TomyLeeBoy
tag
válasz Sk8erPeter #73 üzenetére
Miért nem megoldható?
Én csináltam képfeltöltést. Php-t hívok meg ami feltölti a képet, az oldal nem frissül, csak egy div, ahol visszajön az üzenet hogy sikerült a feltöltés vagy sem. Így miért nem jó?Az idő sebessége: 1s/s
-
Sk8erPeter
nagyúr
válasz TomyLeeBoy #75 üzenetére
Konkrétan hogy csináltad?
Tudtommal AJAX-szal biztonsági okok miatt nem lehetséges a fájlfeltöltés, csak különböző kerülő trükkökkel, mint pl. az iframe-es trükközés vagy a Flash-es megoldás.
Lásd pl. itt: [link], [link]: "unfortunately for security reasons you can't use ajax to upload files from your PC".Bár az egyik komment szerint:
"Strictly speaking there are possibilities to do real AJAX file uploads, but this is only possible in Firefox 3+, Safari 4 and Chrome 2. In all other browsers you must use a workaround like the iframe technique or a Flash based uploader."De természetesen számít a kompatibilitás egyéb böngészőkkel (más verzió a fentiekből vagy IE, Opera, stb.) is.
[ Szerkesztve ]
Sk8erPeter
-
TomyLeeBoy
tag
Sziasztok!
Szerintetek a két adatKuldes miért nem fut le egymás után? Ha kiveszem bármelyiket, akkor a másik megy... Ilyennel még nem találkoztam...
function checkAddMyCatalog(url1, addDivID, url2, catalogNumberSpan)
{
if(document.formAddMyCatalog.my_num.value=="")
{
alert("Film száma?");
return false;
}
else
{
var kieg = document.formAddMyCatalog.my_num.value;
var url12 = url1 + kieg;
adatKuldes3(url12, addDivID);
adatKuldes4(url2, catalogNumberSpan);
}
}Az idő sebessége: 1s/s
-
TomyLeeBoy
tag
válasz Sk8erPeter #76 üzenetére
Írtam még régebben ugy php-t ami feltölti a megadott fájlt. Ezt meghívom ajaxal és megkapja a megfelelő paramétereket akkor fel kellene töltenie a fájlt.
szerk:
[link] ??[ Szerkesztve ]
Az idő sebessége: 1s/s
-
Sk8erPeter
nagyúr
válasz TomyLeeBoy #78 üzenetére
Igazából most csak a kérdésre nem válaszoltál... Pont az volt a lényeg, hogy hogyan oldottad meg, mert úgy tudom, ezt csak trükközéssel lehet, épp a biztonsági okok miatt, amit korábban írtam.
"szerk:
[link] ??"mi a kérdésed?
Pont itt írják:
"OK, I know it's not AJAX, but it sure feels like it! The truth is AJAX cannot upload images, it wont happen, it can't do it, stop your search and take a deep breathe as you begin to accept it!"[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz TomyLeeBoy #77 üzenetére
Nem lenne rossz tudni, mi van az adatKuldes függvényekben.
Sk8erPeter
-
ntomka
nagyúr
válasz Sk8erPeter #79 üzenetére
ツ Headphones on - World off
-
Sk8erPeter
nagyúr
Én is ugyanezt magyaráztam korábban, hogy csak így, kerülő megoldásokkal lehet...
Sk8erPeter
-
ntomka
nagyúr
válasz Sk8erPeter #83 üzenetére
Jah, a demóját pont nem néztem, viszont több helyen használom hibátlanul.
Igaz, alakítottam rajta keveset.[ Szerkesztve ]
ツ Headphones on - World off
-
TomyLeeBoy
tag
válasz Sk8erPeter #80 üzenetére
Az adatKuldes megoldódott. Természetesen azért nem akart működni, mert nem egymás után, hanem egyszerre akartak lefutni és amíg az egyik kérés nem teljesült, addig másik nem indulhat el.
if ((http_request.readyState == 4) && (http_request.status == 200))
Így ugye már jó is lett.
Fájlfeltöltés. Hát ha a rejtett frame-es technika kerülő megoldás, akkor csak kerülő megoldásokkal lehet. De az miért nem jó?
Az idő sebessége: 1s/s
-
Sk8erPeter
nagyúr
válasz TomyLeeBoy #85 üzenetére
"Fájlfeltöltés. Hát ha a rejtett frame-es technika kerülő megoldás, akkor csak kerülő megoldásokkal lehet. De az miért nem jó?"
Nem azt mondtam, hogy nem jó. Csak Te mintha arra céloztál volna, hogy igenis megoldható AJAX-szal a fájlfeltöltés. Közvetlenül nem megoldható, csak közvetetten, iframe-es technikával, vagy ehhez hasonlóan, és ez a lényeg.Azóta a jQuery-alapú Uploadify-t próbálgatom, eddig nagyon tetszik, eleve az, hogy jQuery-alapú, meg az, hogy rendkívül jól dokumentált.
Na meg az is meggyőző, hogy működnek a demók a hivatalos oldalukon (nem úgy, mint egyes más AJAX-os alapú feltöltőknél).===
Viszont most visszavonom a korábbit, a korábban linkelt feltöltőt próbálgatom, és Opera 11.01 alatt nem működik, hibaüzenetet ír ki, hogy gond van a fájl elérési útjával. Gáz. Pedig nem is szóközt tartalmazó könyvtárból akarok feltölteni, bár nem mintha az jobb lenne, ha azt nem kezelné le megfelelően.
Az Uploadify viszont itt is hibátlanul működik.
[ Szerkesztve ]
Sk8erPeter