ugrás a tartalomhoz

Oldalról ellépéskor figyelmeztető javascript alertet keresek

rokkok · 2006. Nov. 6. (H), 17.56
Sziasztok!

A kérdésem a következő. Egy olyan script kéne ami az oldalról való elnavigáláskor, vagy oldal bezárásakor figyelmeztet, hogy valóban be szeretném-e csukni az oldalt? Egy igen vagy nem válasszal. Ha igen akkor végrehajtódik a kérés, ha nem akkor maradok az oldalon. Ez egy feltöltős oldalra kell, hogy véletlen kattintás miatt ne szakadjon meg a feltöltés. Van, ilyen script, vagy találkoztatok már hasonló problémával?

Köszönve: rokkok
 
1

Fogós kérdés rossz címmel

vbence · 2006. Nov. 6. (H), 18.09
Először is a téma címe csapnivaló. Másodszor:

Van window.onunload (vagy ilyesmi), a probléma csak az, hogy amikor a POST történik, akkor nem élnek a scriptek, események. Olyankor legjobb tudásom szerint nem tudsz lekezelni semmit.
2

nem értem

rokkok · 2006. Nov. 6. (H), 23.07
Szia vbence!

Először is köszönöm a választ. A címmel kapcsolatban nem egyezik a véleményünk, de ez részlet kérdés. Én is attól féltem, hogy a feltöltés alatt nem lehetséges, hogy script működjön. Tehát egyenlőre tanácstalan vagyok mivel a feltöltés 2 lépcsős. Először fizikálisan tölti fel a felhasználó a fájlt, majd a feltöltött anyaghoz tud leírást, címet, stb... adni. Ebben az esetben ha a feltöltést elvégezte de a második lépést nem fejezi be akkor a szerveren fizikálisan fenn van a fájl, de a rendszerben nem jelenik meg, tehát csak a helyet foglalja, de igazán a funkcióját nem látja el. Ezt szerettem volna kiküszöbölni ezzel a megoldással, mivel többször volt erre eset, és több száz, vagy ezer feltöltött fájl között megkeresni a "halott" feltöltést lehetetlen, vagy időigényes, és körülményes. Azért nem adom fel, szerintem van rá mód, hogy ezt meg lehessen oldani.
Mégegyszer köszönöm, hogy időt szakítottál a problémára.

Üdv: rokkok
3

nem fog feltöltődni a fájl

Anonymous · 2006. Nov. 7. (K), 01.00
Ebben az esetben ha a feltöltést elvégezte de a második lépést nem fejezi be akkor a szerveren fizikálisan fenn van a fájl, de a rendszerben nem jelenik meg, tehát csak a helyet foglalja

ha a feltöltést megszakítja valaki, akár a nagy piros x (böngésző stop) gombbal, akár egy véletlen linkre klikkeléssel, akkor a fájl nem fog helyet foglalni a szerveren, mivel nem fog feltöltődni. még ha meg is jelenik a tmp könyvtárban, akkor legrosszabb esetben a garbage collector kitörli egy idő után.
ha pedig már elmozgattad onnan a move_uploaded_file függvénnyel, akkor azt hogy a feltöltött fájlt nyilvántartsd két oldallekérés között, neked kell megoldanod (pl munkamenetek), ennek nem sok köze van az eredeti kérdéshez.
egyébként egyetlen formban is el lehetne végezni ezeket a dolgokat (fájlfeltöltés, címadás, leírás).

gex
4

Folyamat megszakítása lépések között.

vbence · 2006. Nov. 7. (K), 01.06
Ha varázslószerűen töltesz fel (több lépcsőben), akkor megteheted, hogy a fájlok egy átmeneti könyvtárba töltődnek, és csak utolsó lépcsőben kerülnek végleges helyükre. Ilyenkor egy síma könyvtárlistázással megkapod a félbemaradt feltöltéshez tartozó fájlokat, és bármikor folytatható a dolog.

Az eredeti címmel kapcsolatban pedig az, hogy "javascript alert" - ha jól emlékszem - mindent lefed, csak épp a te problémádat nem.
5

valóban

rokkok · 2006. Nov. 7. (K), 07.52
Sziasztok.

Igen a cím kérdésre aludtam egyet, és rossz választás volt. Mea culpa. :) A másik része a dolognak, hogy az movie_up.php az első lépcső a movie_upload.php pedig a második. Naha a második lépcső szokott kimaradni. Az első lépcsőben feltöltik a fájlt, a másodikban csak kitöltik hozzá az adatlapot. Az már csak sql-ben tárolnadó adat. Viszont az első elvégzése után már a mappában van a szerveren a fájl. Azokat kell néha ellenőrizni. Viszont az egy oldalas kitöltés, és feltöltés valóban megfontolandó. Ezt a gondot részben megoldaná. De még mindig ott az alap probléma a elnavigálás kérdése, és ennek valamilyen szintű felügyelete. Tehát filózok(unk) tovább.

Üdv: rokkok
6

időnként letörlöd a régieket?

TeeCee · 2006. Nov. 7. (K), 09.45
Az nem jó?
Gondolom a táblában tárolod, hogy mikor töltötték ki a formot, így a tegnapelőtti, vagy régebbieket kitörölni egyetlen SQL-utasítás.
A fájlokat már kicsit több, de azt is meg tudod tenni, hogy onnan kitörlöd az egy napnál régebbieket (vagy egy óra, ...)
Kicsit szebb megoldás, ha cron-ba raksz egy időzített PHP-t, ami megteszi ezt neked napi 1 alkalommal (vagy többel, ha az neked úgy jobb)
7

2 lépéses

Anonymous · 2006. Nov. 7. (K), 10.47
A movie_upload.php-ben mozgasd át a feltöltött állományt a temp helyről a véglegesre. A tempet pedig időnként tisztítsd ki (elég a fájlkreálási idő alapján szelektálni a régieket)
Megcsinálhatod kliens oldalon, hogy a feltöltés és az adatlapkitöltés párhuzamosan menjen, az kényelmesebb a felhasználóknak mint megvárni, míg feltöltődik, és addig nem tehet semmit...
8

az marad

rokkok · 2006. Nov. 7. (K), 10.58
Szerintem anonymus megoldása marad. Egy oldalon megoldani az egészet.
1. Nem unatkozik feltöltés közben a felhasználó. :)
2. Ha megszakítja akkor semmi sem töltődik fel mivel a 2 lépés 1-ben van.

Ez lesz a legjobb megoldás. :)

Köszönöm.