witam,
stworzyłem sobie panel administratora, abym mógł dodawac pliki na strone, które następnie użytkownik będzie mógł pobrać.
W panelu będę podawał nazwe skryptu, jego opis oraz sciezke gdzie sie znajduje, nastepnie w drugim skrypcie chce obsłuzyc ten panel i wyswietlic z niego dane na stronie w postaci np.

Nero 8.0
Jest to wspaniała aplikacja słuząca do....
Pobierz

Pajączek
Słuzy do...
Pobierz

Wszystko w moim skrypcie się wyswietla poza tym że użytkownik nie moze pobrac pliku (źle działa "Pobierz"). Niby wyskakuje okno pobierania, naciskam zapisz, a dalej cały czas stan łączenie....
oto skrypty:plik dodaj_skrypt.php

  1. <?php
  2. if(isset($_POST['submitted']))
  3. {
  4. $url = adres_url('dane.php');
  5. require_once($url); //dołączam plik z połączeniem do bazy danych
  6.  
  7. $errors = array();
  8. if(empty($_POST['nazwa_skryptu']))
  9. {
  10. $errors[] = 'Nie podałeś nazwy skryptu';
  11. }
  12. else
  13. {
  14. $nazwa_skryptu = mysqli_real_escape_string($dbc,trim($_POST['nazwa_skryptu']));
  15. }
  16.  
  17. if(empty($_POST['opis']))
  18. {
  19. $errors[] = 'Nie podałeś opisu';
  20. }
  21. else
  22. {
  23. $opis = mysqli_real_escape_string($dbc,trim($_POST['opis']));
  24. }
  25. /**************dodaje to co ponizej***************/
  26. $f = $_FILES['plik'];
  27. if(isset($f['name']))
  28. {
  29. rename($f['tmp_name'],'/usr/poznajnet/skrypty/baza_danych/'.$f['name']);
  30. }
  31. $kategoria = $_POST['kategoria'];
  32.  
  33. if(empty($errors))
  34. {
  35. $rezultat = mysqli_query($dbc,"SELECT id FROM kategoria_skryptu WHERE kategoria='$kategoria'");
  36. $res = mysqli_fetch_array($rezultat,MYSQL_ASSOC);
  37. $plik = $f['name'];
  38. $query = "INSERT INTO skrypt(nazwa_skryptu,plik,opis,id_kategorii) VALUES('$nazwa_skryptu','$plik','$opis',{$res['id']})";
  39. $wynik = mysqli_query($dbc,$query);
  40. if($wynik)
  41. {
  42. echo 'dodano do bazy';
  43. }
  44. else
  45. {
  46. echo 'wystapiły nieoczekiwane błedy';
  47. }
  48. }
  49. else
  50. {
  51. foreach($errors as $msg)
  52. {
  53. echo "błąd - $msg<br />";
  54. }
  55. }
  56. }
  57. ?>
  58. <form action="" method="post" enctype="multipart/form-data">
  59. Nazwa skryptu:<input type="text" name="nazwa_skryptu" maxlength="35" /><br />
  60. Opis: <textarea rows="10" cols="30" name="opis" /></textarea><br />
  61. Plik: <input type="file" name="plik" maxlength="30" /><br />
  62. Kategoria<select name="kategoria">
  63. <option value="Bazy danych">Bazy danych</option>
  64. <option value="CMS">CMS</option>
  65. </select>
  66. <input type="hidden" name="submitted" value="TRUE" />
  67. <input type="submit" name="submit" value="Zapisz" />
  68. </form>


Plik wyswietl_dane.php
  1. <?php
  2. require_once('dane.php'); //dołączam połączenie z bazą
  3. $query = "SELECT * FROM skrypt";
  4. $result = mysqli_query($dbc,$query);
  5. if($result)
  6. {
  7. while($wynik = mysqli_fetch_array($result,MYSQL_ASSOC))
  8. {
  9. echo "<b>{$wynik['nazwa_skryptu']}</b><br />{$wynik['opis']}<br />";
  10. echo "<a href=\"/poznajnet/skrypty/wyswietl_skrypt.php?do=download&fileid={$wynik['id']}\">pobierz</a><br /><br />";
  11. $do = @$_REQUEST["do"];
  12. $fileid = @$_REQUEST["fileid"];
  13. $wynik2 = $wynik['plik'];
  14. if($_GET['do'] == 'download')
  15. {
  16. header("Content-type: application/zip");
  17. header("Content-Disposition: attachment; filename=$wynik2");
  18. readfile($wynik2);
  19. }
  20.  
  21. }
  22. }
  23. else
  24. {
  25. echo 'Nie udało się wyświetlić danych';
  26. }
  27. ?>


Podejrzewam ze cos jest namieszane w pliku wyswietl_dane.php, tylko za bardzo nie wiem co.