Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wysłanie pliku i przeladowanie strony
uli
post 8.05.2008, 09:04:16
Post #1





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

Ostrzeżenie: (0%)
-----


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


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 8.05.2008, 09:20:18
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
uli
post 8.05.2008, 09:28:16
Post #3





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

Ostrzeżenie: (0%)
-----


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ć.


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
nospor
post 8.05.2008, 09:31:10
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
uli
post 9.05.2008, 06:08:54
Post #5





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

Ostrzeżenie: (0%)
-----


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


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:18