Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt do prowadzenia downloadu
Forum PHP.pl > Forum > Przedszkole
TX1
Witam, pisałem w tym temacie ale proszę o jego zamknięcie, popełniłem kilka błędów pisząc w nim więc napisze jeszcze raz. Więc jak już pisałem, napisałem prosty skrypt downloadu w oparciu o książkę "php i MySQL" Larrego Ullmana. Gdy próbuje wysłać plik wyskakuje Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in c:\Program Files\Apache Group\Apache2\htdocs\rozdroze\add_file.php on line 23
  1. <?php
  2. define('IN_PHPBB', true);
  3. $phpbb_root_path = './forum/';
  4. $page_path = './../';
  5. include($phpbb_root_path . 'extension.inc');
  6. include($phpbb_root_path . 'common.'.$phpEx);
  7. $userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
  8. init_userprefs($userdata);
  9. $total_posts = get_db_stat('postcount');
  10. $total_users = get_db_stat('usercount');
  11. $newest_userdata = get_db_stat('newestuser');
  12. $newest_user = $newest_userdata['username'];
  13. $newest_uid = $newest_userdata['user_id'];
  14. $scfile=explode(&#092;"/\",$_SERVER['PHP_SELF']);
  15. $redir = &#092;"../\";
  16. if (isset($_POST['submit'])) {
  17. function escape_data ($data) {
  18. global $dbc;
  19. if (ini_get('magic_quotes_gpc')) {
  20. $data = stripslashes($data);
  21. }
  22. return mysql_real_escape_string (trim ($data), $dbc);
  23. }
  24. if (!empty($_POST['description'])) {
  25. $d = escape_data($_POST['description']);
  26. } else {
  27. $d = '';
  28. }
  29.  
  30. $query = &#092;"INSERT INTO uploads (file_name, file_size, file_type, description, upload_date) VALUES ('{$_FILES['upload']['type']}', '$d', NOW())\";
  31. $result = @mysql_query ($query);
  32.  
  33. if ($result) {
  34. $extension = explode ('.', $_FILES['upload']['name']);
  35. $uid = mysql_insert_id();
  36. $filename = $uid . '.' . $extension[1];
  37.  
  38. if (move_uploaded_file($_FILES['upload']['tpm_name'], &#092;"../uploads/$filename\")) {
  39. echo 'Plik zostal umieszczony na serwerze';
  40. } else {
  41. echo 'Przeniesienie pliku bylo nie mozliwe.';
  42. $query = &#092;"DELETE FROM uploads WHERE upload_id = $uid\";
  43. $result = @mysql_query ($query);
  44. }
  45. } else {
  46. echo 'Na skutek bledu systemowego wysylane zapytanie nie moglo zostac przetworzone. Pr
  47. epraszamy.';
  48. }
  49. }
  50. ?>
  51.  
  52. <form enctype=\"multipart/form-data\" action=\"<?php echo $_SERVER['PHP_SELF']; ?>\" method=\"post\">
  53. <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"524288\">
  54. <fieldset><legend>W celu umieszczenia pliku wypelnij forumlarz:</legend>
  55. <p><b>Plik:</b> <input type=\"file\" name=\"upload\" /></p>
  56. <p><b>Opis:</b> <textarea name=\"description\" cols=\"40\" rows=\"5\"></textarea></p>
  57. </fieldset>
  58. <div align=\"center\"><input type=\"submit\" name=\"submit\" value=\"wyslij\" /></div>

Tak wygląda skypt. Z góry dzięki. Pozdrawiam.
nospor
Jak masz napisane w komunikacie o błędzie, parametr $dbc jest nulem. Gdzie go inicjujesz poraz pierwszy (nie chodzi mi o tego global co masz parę linijek wczesniej)

edit:
a jak nie masz polaczaczenia to najlepiej wywal te $dbc z parametrów funckji. Nie jest wymagane
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.