![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 7.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
1. Chodzi o formularz, który służy do przesyłania obrazka na serwer. Kod, który odbiera dane z formularza sprawdza, czy wszystko gra, a jeśli np. brakuje opisu, to ponownie wyświetla formularz z prośbą o uzupełnienie.
Jak spowodować, żeby pole <input type="file"> było już wypełnione, w sytuacji, gdy użytkownik już wcześniej wybrał ścieżkę do pliku? Próbowałem:
Ale niestety bez efektu - pole pozostawało puste. Nie udaje w ogóle przypisanie żadnej wartości do value (np. value='aaa'). Jak to zrobić? 2. Przy okazji - czy jest jakaś funkcja php zamieniająca dowolną nazwę pliku na "bezpieczną" dla URL? Chodzi mi o automatyczne usunięcie polskich znaków, spacji itd. Będę bardzo wdzięczny za jakieś wskazówki. Pozdrawiam! Przemek |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) bylo juz o tym wiele razy. nie da się ze względu na bezpieczenstwo
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Nie mozna NIC przypisac do tego pola - kwestia bezpieczenstwa uzytkownika.
Wzasadzie sa dwa rozwiazania: 1) Uzyc JavaScript do tego aby wyswietlil informacje o brakujacych danych. 2) Po wybraniu juz przez uzytkownika jakiegos pliku, zaczac sciagac go w tle za pomoca JavaScriptu (tzn. uzyc Ajaxa do tego aby wyslal formularz z tym plikiem bez odswiezania strony) - pozniej mozna zamienic to pole na inne z juz podana nazwa pliku (takie rozwiazanie oferuje GMail). Obie rzeczy wymagaja wlaczonego JavaScript, wiec jest to malo niezawodne. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 7.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za ekspresową odpowiedź.
Nie pomyślałem wcześniej o bezpieczeństwie - w ten sposób można by rzeczywiście wyciągnąć komuś z kompa dowolny plik. Wymyśliłem takie rozwiązanie, że jeśli przy pierwszym podejściu będzie wybrany plik, to zostanie on odebrany i przetworzony, a formularz do uzupełnienia danych nie będzie już zawierał pola wyboru pliku. Jak ktoś nie uzupełni opisu, to się plik skasuje i sytuacja będzie czysta. Tak powinno być dobrze. Dzięki! Przemek |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mozesz jeszcze dodac kod w js sprawdzajacy czy wszystkie pola formularza (np. opis obrazka) sa wypelnione.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Seth @ 2006-02-20 11:13:09) 2) Po wybraniu juz przez uzytkownika jakiegos pliku, zaczac sciagac go w tle za pomoca JavaScriptu (tzn. uzyc Ajaxa do tego aby wyslal formularz z tym plikiem bez odswiezania strony) - pozniej mozna zamienic to pole na inne z juz podana nazwa pliku (takie rozwiazanie oferuje GMail). AJAX nie wyśle Ci pliku... Taką funkcjonalność oferuje jedynie FireFox, a nIEdźwiedź już sobie z tym nie poradzi... wysłać plik w tle można jedynie poprzez iframe... -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiedzialem. Dzieki za infromacje.
A czy ktos probowal zrobic to za pomoca flasha ? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 10.09.2005 Ostrzeżenie: (20%) ![]() ![]() |
kiedys robilem kod do aktualizacji zdjec i rozwiazalem to w ten sposob ze jesli pole pliku bylo puste to przepisywalo mi stara wartosc a jesli bylo wypelnione to byl wykonywany odpowiedni kod
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:22 |