Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Undefined index, $_FILES
Loped
post 13.08.2009, 16:19:19
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 9.04.2009

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


Witam. W skrypcie od dodania avataru pojawia mi się taki błąd:

Kod
   <b>Błąd:</b> Undefined index:  plik
  
   <b>Błąd:</b> Undefined index:  plik
  
   <b>Błąd:</b> Undefined index:  plik


Jest to chyba spowodowane tym, że zmienna $_FILES jest pusta... jednak nie wiem jak to naprawić. Kod:

  1.  
  2. <br><br>
  3. <form enctype="multipart/form-data" action="opcje.php?avatar" method="POST">
  4. <input type="hidden" name="MAX_FILE_SIZE" value="15000" />
  5. <input name="plik" type="file" /></font>
  6. <input type="submit" value="Wyślij plik" />
  7. <a href="account.php5"> Wróć</a>
  8. </form>
  9.  
  10. <?php
  11. $plik_tmp = $_FILES['plik']['tmp_name'];
  12. $plik_nazwa = $_FILES['plik']['name'];
  13. $plik_rozmiar = $_FILES['plik']['size'];
  14. $newname = md5($plik_rozmiar).'.jpg';
  15. $sp = explode(".",$plik_nazwa);
  16.  
  17. // sprawdzamy rozszerzenie
  18. $sp = explode(".",$plik_nazwa);
  19. $count_sp = count($sp) - 1;
  20.  
  21. if($sp[$count_sp] == "gif" or $sp[$count_sp] == "jpg" or $sp[$count_sp] == "png")
  22. {
  23. echo "<br><br>Plik poprawny. ";
  24. if(is_uploaded_file($plik_tmp))
  25. {
  26. move_uploaded_file($plik_tmp, "avatary/".$newname);
  27. chmod("./avatary/".$newname,0644);
  28. echo "<br><br>Plik: <strong>$plik_nazwa</strong> o rozmiarze
  29. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  30. dbquery("UPDATE uzytkownik SET avatar='".$newname."' WHERE id='$user->id'") or error("<center>Nie mogę dodać!</center>");
  31. }
  32. }
  33. else
  34. {
  35. echo "<br><br>Plik niepoprawny";
  36. }
  37. echo'<br><center><b><u>Twój avatar</b></u><br><br><img src="avatary/'.$user->avatar.'"></center>';
  38. }
Go to the top of the page
+Quote Post
erix
post 13.08.2009, 16:44:24
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jeśli Ci się to pojawai przed wysyłaniem formularza, sprawdzaj czy $_FILES jest puste i jeśli nie - dopiero wtedy wykonuj.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Loped
post 13.08.2009, 16:58:43
Post #3





Grupa: Zarejestrowani
Postów: 120
Pomógł: 0
Dołączył: 9.04.2009

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


Próbowałem dać:

  1. if (!isset($_FILES['plik']['name']))
  2.  


lecz nadal wyskakuje ten błąd. Pojawia się on przed wysłaniem formularza.

Edit:

Dałem:

  1. if(isset($_FILES['plik']['tmp_name'])) $plik_tmp=$_FILES['plik']['tmp_name']; else $plik_tmp=0;
  2. {
  3.  
  4. }


I działa ;P Ale nie wiem czy to dobry sposób i czy ten if jest zbędny..

Ten post edytował Loped 13.08.2009, 17:09:02
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: 12.07.2025 - 23:46