Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wysłanie pliku i przeladowanie strony
Forum PHP.pl > Forum > Przedszkole
uli
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
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?
uli
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
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
uli
Nospor - wielkie dzięki!!!

Oczywiście działa! Sprawdzone pod IE i FF smile.gif

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

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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.