Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak się zabezpieczyć przed pustym <input type=file>
sadistic_son
post 11.07.2009, 02:10:35
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Jak uniemożliwić userowi wysłanie formularza z polem typu 'file' jeśli nie wypełni on tego pola?

Odpowiedź wydaje się banalna:

  1. <input type=file name=plik>
  2.  
  3. <?
  4.  
  5. if(!isset($_POST['plik'])){ echo 'wpisz plik'; }
  6.  
  7. //lub
  8.  
  9. if($_POST['plik']==""){ echo 'wpisz plik'; }
  10.  
  11. ?>


Rzecz w tym, że to nie działa. Isset() traktuje zmienną $_POST['plik'] jakby zawsze była 'nieustawiona'. Drugi warunek traktuje zmienną jak pusty string jeśli wskażemy plik. Innymi słowy zawsze wyświetla się 'wpisz plik'.


Jeśli zrobię tak:
  1. <?php
  2. if(isset($_POST['plik'])){
  3. jakas_funkcja();
  4. }
  5.  
  6. //lub
  7.  
  8. if($_POST['plik']!=""){
  9. jakas_funkcja();
  10. }
  11. ?>

To jakas_funkcja(); się nie wykona.


Macie jakieś pomysły czemu tak się dzieje?

Dzięki.

Ten post edytował sadistic_son 11.07.2009, 02:38:28


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

Posty w temacie


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:46