Witam!
Siedzę i siedzę i wymyślić nie mogę, więc proszę Was o pomoc.
Opis:
Mam stronę z buttonem: "Pobierz plik". Wszystko byłoby proste (podpiąć plik pod action), gdyby nie fakt, że stronka musi przed wysłaniem pliku, zapisać pewne rzeczy w bazie. Próbowałem to zrobić w js jako window.open i wyplucie zawartości pliku z odpowiednim headerem, ale niestety jest to traktowane jako pop-up i blokowane przez przeglądarkę. Czy wie któs jak to ominąć?
Teraz wygląda to następująco (pomijam - problem blokowania popup'a):
na kliknięcie, stronka idzie do funkcji js:
function pobieranie(id) {
var okno = window.open('pobierz.php?' + id.toString(), 'okno');
window.location="index.php";
}
w pobierz.php - sprawdza poprawnośc sesji itp, zapisuje do bazy, i poprzez headers i echo(get_file_contents(..)) wyrzuca plik.
Rozwiązanie problemu sprowadza się do dwóch rzeczy: blokowanie pop-up, bądź wskazanie na index.php po wypluciu pliku, ale to chyba niemożliwe..
Prosiłbym o jakieś sugestie i naprowadzenie na rozwiązanie. Byłbym wdzięczny.
Pozdrawiam,
Uli
nospor
8.05.2008, 09:20:18
Za bardzo nie rozumiem w czym masz problem. Masz plik pobierz.php ktory robi to co chcesz. Czemu wiec chcesz go wywolywac w popup? Czemu nie możesz tego zrobić normalnym linkiem?
Problem polega na tym, że strona główna (index.php) musi być przeładowana po wysłaniu pliku. Czyli - kliknięcie -> pobierz.php (zapis do bazy i wyplucie headerów i zawartości) -> reload index.php.
I utknąłem na ostatnim etapie. Po wysłaniu pliku zwykłym linkiem nie mogę przeładować index.php, a muszę to zrobić.
nospor
8.05.2008, 09:31:10
hmmm, zrob tak:
daj linka do index.php z jakim tam parametrem downloadu. Gdy index.php dostanie taki parametr to odpali sie normalnie tak jakby bylo samo index.php, ale jednoczesnie wysle headera przekierowujacego na strone pobierz.php. Plik zostanie pobrany, a strona nadal pozostanie na index.php
Nospor - wielkie dzięki!!!
Oczywiście działa! Sprawdzone pod IE i FF

Nie pamiętam, który raz ratujesz mi tyłek

Panie i Panowie - browarka dla tego Pana!!
Pozdrawiam,
Uli
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.