![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 9.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam stworzyłem rozwijaną listę która pobiera nazwę plików i nadane tytuły z bazy danych - po kliknięciu pobierz ma pobierać plik z katalogu abc na dysk używając gotowego skryptu force-download.php - niestety zmienna $_POST['dok'] jest pusta, jaki popełniłem błąd w kodzie?
CODE <form action="force-download.php?file=dokumenty/abc/".$_POST['dok']."" method="post" class=""> <select style="width:105px;" name="dok"> <option value="">Dokumenty</option> <?php include("polaczenie.php"); $query = "SELECT tytul,nazwa FROM dokumenty WHERE miasto='abc'"; $result = mysql_query ($query); if ($result!=''){while ($row = mysql_fetch_array($result)) { echo ("<option value=\"".$row[1]."\">".$row[0]."</option>");}} include("rozlaczenie.php");?> </select> <input type="submit" value="Pobierz"/></form> z góry dzieki za pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Apostrofy przy POST to już widzę pierwszy błąd. Nie można wrzucać "na chama" zmiennej post tak:
tylko jak już co:
Poza tym jak masz mieć ją pełną, skoro ona dopiero PO naciśnięciu submit się uzupełnia. A Twoim zdarzeniem po naciśnięciu submit jest wywołanie innego pliku. To w nim masz przechwycić jaki plik wywołano i robisz to odczytując dane z select wewnątrz pliku force-download. To w nim się do tej zmiennej dobierasz. Ten post edytował thek 9.09.2009, 13:34:16 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 9.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
czyli jak ostatecznie powinien wyglądać kod żeby działał?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Na pewno nie tak jak napisałeś (IMG:style_emoticons/default/smile.gif) Powinien w pliku force_download.php pobierać zmienną $_POST['doc'] i w zalezności od niej wysyłać do przegladarki własciwy plik. Nie podam gotowca bo nie na tym to polega. Poza tym mogę się tylko domyślać ścieżek na Twoim serwerze na podstawie tego co wrzuciłeś do action, ale też nie mogę mieć pewności.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 9.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
plik force-download.php jest gotową funkcją w phpie który zmusza do ściągnięcia pliku na dysk i wywołuje sie to właśnie za pomocą "force-download.php?file=ściezka_do_pliku" czy rozwiązaniem bedzie dodanie do form
CODE onchange="this.value=<?php echo $_POST['dok']; ?>" (IMG:style_emoticons/default/questionmark.gif) proszę o gotowca bo tylko wtedy sie nauczę... pomóżcie prosze... :| Ten post edytował bluebird 16.09.2009, 15:14:23 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Gotowce to nie w tym dziale, nauczysz się najlepiej na własnych próbach i błędach, a nie oczekując na rozwiązanie na tacy...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
plik force-download.php jest gotową funkcją w phpie który zmusza do ściągnięcia pliku na dysk i wywołuje sie to właśnie za pomocą "force-download.php?file=ściezka_do_pliku" czy rozwiązaniem bedzie dodanie do form CODE onchange="this.value=<?php echo $_POST['dok']; ?>" (IMG:style_emoticons/default/questionmark.gif) proszę o gotowca bo tylko wtedy sie nauczę... pomóżcie prosze... :| Witaj, Ten tekst mnie powalił... Jakby za Ciebie ktoś odwalał pracę to też by powiedział, że jak on pracuje to Ty się męczysz? ^^ Ciekawa teoria, muszę ją chyba zapisać do humoru miesiąca :-) A rozwiązanie w sumie jest proste. Musisz w pliku force-download.php pobrać zmienną, wiesz chyba jak? I następnie wybrać plik z folderu i użyć funkcji readfile(). Z tym chyba sobie poradzisz? Mniej więcej przykład działania.
Oczywiście weż pod uwagę ścieżkę. Pozdrawiam, Largo Ten post edytował Largo 16.09.2009, 15:39:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:56 |