Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Ulpoad - bez pliku
Forum PHP.pl > Forum > Przedszkole
ufoxxx
Siema
Mam formularz z dodaniem pliku, który nie jest wymagany, jak wybieram bez pliku to wyświetla się komunikat, że plik jest na serwerze, nie wiem jak to przerobić sciana.gif
  1. <?php
  2. if(isset($_POST['update']))
  3. {
  4. include ("db_fns.php");
  5. db_connect();
  6.  
  7. $IdOdebrane = $_POST['IdOdebrane'];
  8. $TerminZalatwienia = $_POST['TerminZalatwienia'];
  9. $skan = $_POST['skan'];
  10. $pracownik = $_POST['pracownik'];
  11.  
  12. $IdOdebrane = mysql_real_escape_string($IdOdebrane);
  13. $TerminZalatwienia = mysql_real_escape_string($TerminZalatwienia);
  14. $skan = mysql_real_escape_string($skan);
  15.  
  16. $fileName = $_FILES['userfile']['name'];
  17. $tmpName = $_FILES['userfile']['tmp_name'];
  18. $fileSize = $_FILES['userfile']['size'];
  19. $fileType = $_FILES['userfile']['type'];
  20.  
  21. //$p_nazwa_zm=($IdOdebrane).".pdf";
  22. $folder="pliki/";
  23.  
  24. if (file_exists($folder.$fileName))
  25. {
  26. echo ("Plik o takiej nazwie jest już na serwerze <b><i>".$fileName."</b></i><br />");
  27. echo "<a href=kierownik.php>Wracaj ...";
  28. }
  29.  
  30. $path_file=$folder.$fileName;
  31. move_uploaded_file($tmpName, $folder.$fileName);
  32.  
  33. $sql = "UPDATE odbierzpoczte SET TerminZalatwienia = '$TerminZalatwienia', skan = '$skan', pracownik = '$pracownik', status='wysyłka', nazwa = '$path_file', typ = '$fileType', pojemnosc = '$fileSize' WHERE IdOdebrane = '$IdOdebrane'" ;
  34.  
  35. $ok = mysql_query($sql);
  36. if ($ok === false) die('nie można było dodać danych do bazy ' .mysql_error());
  37. echo "Baza została uzupełniona\n";
  38.  
  39.  
  40. mysql_close(db_connect());
  41.  
  42. }
  43.  
  44. else
  45. {
  46. ?>
Rochu
Rozdziel trochę ten kod, w pierwszej kolejności sprawdzaj czy plik jest w ogóle przsyłany [$_FILES nie jest pusta], jeśli jest to wtedy go waliduj (sprawdź czy jest już na serwerze itd.) inaczej pomiń ten krok i przejdź od razu do zapisu danych, po prostu cała walidacja przesyłanego pliku w jednej instrukcji warunkowej
ufoxxx
tak to ma wyglądac?
  1. if (!$_FILES) {
  2. $path_file=$folder.$fileName;
  3. move_uploaded_file($tmpName, $folder.$fileName);
  4. }
  5. else {
  6.  
  7. $fileName = $_FILES['userfile']['name'];
  8. $tmpName = $_FILES['userfile']['tmp_name'];
  9. $fileSize = $_FILES['userfile']['size'];
  10. $fileType = $_FILES['userfile']['type'];
Rochu
  1. <?php
  2. if(isset($_POST['update']))
  3. {
  4. include ("db_fns.php");
  5. db_connect();
  6.  
  7. $IdOdebrane = $_POST['IdOdebrane'];
  8. $TerminZalatwienia = $_POST['TerminZalatwienia'];
  9. $skan = $_POST['skan'];
  10. $pracownik = $_POST['pracownik'];
  11.  
  12. $IdOdebrane = mysql_real_escape_string($IdOdebrane);
  13. $TerminZalatwienia = mysql_real_escape_string($TerminZalatwienia);
  14. $skan = mysql_real_escape_string($skan);
  15.  
  16. //domyslne wartosci dla zmiennych kiedy nie bedzie przesylany plik
  17. $path_file = $fileType = $fileSize = '';
  18.  
  19. if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
  20. $fileName = $_FILES['userfile']['name'];
  21. $tmpName = $_FILES['userfile']['tmp_name'];
  22. $fileSize = $_FILES['userfile']['size'];
  23. $fileType = $_FILES['userfile']['type'];
  24.  
  25. //$p_nazwa_zm=($IdOdebrane).".pdf";
  26. $folder="pliki/";
  27.  
  28. if (file_exists($folder.$fileName))
  29. {
  30. echo ("Plik o takiej nazwie jest już na serwerze <b><i>".$fileName."</b></i><br />");
  31. echo "<a href=kierownik.php>Wracaj ...";
  32. }
  33.  
  34. $path_file=$folder.$fileName;
  35. move_uploaded_file($tmpName, $folder.$fileName);
  36.  
  37. }
  38.  
  39. $sql = "UPDATE odbierzpoczte SET TerminZalatwienia = '$TerminZalatwienia', skan = '$skan', pracownik = '$pracownik', status='wysyłka', nazwa = '$path_file', typ = '$fileType', pojemnosc = '$fileSize' WHERE IdOdebrane = '$IdOdebrane'" ;
  40.  
  41. $ok = mysql_query($sql);
  42. if ($ok === false) die('nie można było dodać danych do bazy ' .mysql_error());
  43. echo "Baza została uzupełniona\n";
  44.  
  45.  
  46. mysql_close(db_connect());
  47.  
  48. }
  49.  
  50. else
  51. {
  52. ?>
ufoxxx
Dzięki specool.gif
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.