Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Undefined index, $_FILES
Forum PHP.pl > Forum > Przedszkole
Loped
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. }
erix
Jeśli Ci się to pojawai przed wysyłaniem formularza, sprawdzaj czy $_FILES jest puste i jeśli nie - dopiero wtedy wykonuj.
Loped
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..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.