![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Napisany mam bardzo prostu skrypcik do wysyłu pliku na serwer i nawet działa: Formularz:
Odbieranie pliku:
Piszę na własny użytek malutką wutryne do wymiany plików miedzy uzytkownikami. Maja wrzucac wszystko do jednego wora(pomijamy póki co kwestie walidacji danych). W momencie gdy powyższy kod zawrę w plikach witryny wywala mi błedy: Notice: Undefined index: plik in C:\xampp\htdocs\sswi\php\upload.php on line 2 Notice: Undefined index: plik in C:\xampp\htdocs\sswi\php\upload.php on line 4 Notice: Undefined index: plik in C:\xampp\htdocs\sswi\php\upload.php on line 6 Notice: Undefined index: plik in C:\xampp\htdocs\sswi\php\upload.php on line 8 Error: Notice: Undefined index: plik in C:\xampp\htdocs\sswi\php\upload.php on line 10 Notice: Undefined index: plik in C:\xampp\htdocs\sswi\php\upload.php on line 12 Plik nie istnieje Jedyne co zmieniam to w <form> w action zmieniam cel na: "index.php?id=upload. Plik Index.php wygląda tak:
Co może przeszkadzać przy otwartej sesji w wytworzeniu superglobalnej $_FILES?? Googluje już trzeci dzień i nie moge się nic doszukać. PLZ help |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Trzy kwestie:
1. Masz dwa razy otwarty formularz: <form enctype="multipart/form-data" action="upload.php" method="post" /> (pierwsza sekcja) 2. dane wysyłasz metodą post, tymczasem w kodzie obsługującym parametr id widzę $_GET, a powinno być $_POST. 3. Zanim sobie ładnie wyplujesz wynik echo $_FILES['plik']['type']; itd. sprawdź czy w ogóle jakikolwiek plik przesłano. ps. pominę milczeniem i udam, że tego nie widziałem: include "php/".$_GET['id'].".php"; -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź.
Ad1. Błąd przy kopiowaniu kodu, nie wiem jak się to stało. Nie otwiera sie dwa razy form. Ad2. Dane o pliku wysyłam POST, GET przekazuje jaką mam strone otworzyć w div zawartość, czyli obudowuję sobie wewnętrzną część strony jakimiś bajerami. Ad3. Jak wywołuje echo $_FILES wyrzuca mi wynik: Array, czyli coś tam jest - jak się myle proszę o poprawkę. Ad ps - wiem że mało elegancki sposób na otwieranie różnych stron ale póki co raczkuje w tym temacie. Głównym problemam jest to że plik uruchomione oddzielnie działają. Gdy z innych formularzy wysyłam metodą POST na przykład przy logowaniu to nie ma problemu - przesyłają się. SESSION też rejestrują się i pamięta je. Jak chce utworzyć $_FILES['plik'] to sypie błędem. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ad. 3 zamiast echo sprawdź var_dump($_FILES);
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
array(0) { }
Ok czyli nie przesyła się nic. Łird. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może plik jest za duży. Ostatecznie formularz ma mieć atrybut multipart/form-data a nie multiform/form-data
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 15:08 |