Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
crackcomm
post 11.07.2009, 03:33:17
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


  1. <form enctype="multipart/form-data" method="POST">
  2. Choose a file to upload: <input name="uploadedfile" type="file" /><br />
  3. <input type="submit" value="Upload File" />
  4. </form>
  5. <?
  6. if( $_FILES['uploadedfile']['error']==0 ) { echo 'jest plik!'; }
  7. ?>

var_dump" title="Zobacz w manualu PHP" target="_manual print_r" title="Zobacz w manualu PHP" target="_manual


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
sadistic_son
post 11.07.2009, 03:52:47
Post #3





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

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


Fantastycznie:)

Chodziło mi o to ---> $_FILES['uploadedfile']['error']==0

Dzięki:)

Ten post edytował sadistic_son 11.07.2009, 03:53: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

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.07.2025 - 03:42