![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam przycisk który po kliknięciu otwiera okienko. Tam jest formularz w którym użytkownik może wpisać kod. Jeżeli kod jest poprawny, powinno się włączyć pobieranie pliku. Całość mam oparte na php + ajax.
Wiem jak zrobić pobieranie pliku przez header() w php, ale nie wiem jak zwrócić to do JS. Skrypt PHP wygląda tak:
JS:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 58 Dołączył: 14.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że nie da się tego zrobić przez AJAX. Ale jeżeli przekierujesz użytkoniwka przez window.location = 'download.php', to przeglądarka nie powinna się odświeżyć, przynajmniej Firefox tak się zachowuje.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
No ok, właśnie miałem tak zamiar robić. Mogę zrobić przekierowanie nawet z przeładowaniem strony, ale chodzi o to że ten plik nie jest dostępny dla każdego użytkownika i ma się pobierać tylko i wyłącznie po wpisaniu prawidłowego kodu
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
skąd wy bierzecie te kody, tu masz przykłady jak to powinno być poprawnie zdefiniowane w tym ajax http://api.jquery.com/jquery.ajax/
if (html=='true') to tak nie zadziała |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 58 Dołączył: 14.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale AJAX nie jest żadnym zabezpieczeniem, przecież każdy może otworzyć konsolę przeglądarki i sprawdzić skąd pobierane są dane. Najprościej będzie skorzystać z sesji. Po sprawdzeniu kodu ustawiasz $_SESSION['download'] na true, i sprawdzasz to na początku tego pliku z header()...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
A jakby skrypt php generował odpowiedni link i go wypluwał? hmm wtedy zrobiłbym np. pobierz.php?idpliku=1&token=xxx ale to jakiś token czy coś też by musiał się generować
![]() z poziomu przeglądarki taki link nie będzie widoczny przecież |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.05.2025 - 05:28 |