Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Добавление в базу данных имени (и ссылки на) загружаемого файла.
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Добавление в базу данных имени (и ссылки на) загружаемого файла.

Страниц (3): [1] 2 3 »
 

1. Lihtenshtein - 26 Июня, 2013 - 03:13:53 - перейти к сообщению
Файл add.htm
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action = "loading.php" method = "post" enctype = 'multipart/form-data'>
  3. <input type = "file" name = "somename" maxlength=60 size=29 /><br>
  4. <input type = "submit" value = "Загрузить" />
  5. </form>
  6.  


Файл Loading.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm");
  3.  foreach ($blacklist as $item)
  4.    if(preg_match("/$item\$/i", $_FILES['somename']['name'])) exit;
  5.  $type = $_FILES['somename']['type'];
  6.  $size = $_FILES['somename']['size'];
  7.  if (($type != "audio/mpeg") && ($type != "audio/x-mpeg") && ($type != "audio/mp3") && ($type != "audio/wav") && ($type != "audio/mp4")) exit ( 'Ааа! не тот формат! Мы грузим только wav, mp3, mp4, mpeg, x-mpeg!' );
  8.  if ($size > 31457280) exit ( 'Слишком большой файл!Нам можно грузить фал не более 30Мб!');
  9.  $uploadfile = "./music/".$_FILES['somename']['name'];
  10. if ( $uploadfile ) echo ( 'Молодец тебе удалось спасти ещё один хит!' );
  11. if ( !$uploadfile ) die ( 'Что-то пошло не так!' );
  12.  move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile);
  13. //дальше поидее подключаемся к БД и отсюда начинаются проблемы так как sql я знаю довольно плохо
  14. $host = "127.0.0.1";
  15. $user = "mus";
  16. $dbname = "music";
  17. $password = "";
  18.  
  19. $connection = mysql_connect($host, $user, $password)
  20.                or die(mysql_error());
  21.  
  22. $db = mysql_select_db($dbname, $connection)
  23.                or die(mysql_error());
  24.  
  25. $query = "INSERT INTO `music` (`name`, `href`)
  26. VALUES ('$somename',  'music.onion/music/$somename')";
  27. $result = "$mysql_query($query)
  28.                or die(mysql_error())";
  29.  
  30.  

вроде всё нормально ошибок не выдаёт но в базу тоже не пишет подозоеваю что всё дело в
CODE (text):
скопировать код в буфер обмена
  1. VALUES ('$somename',  'music.onion/music/$somename');

как это исправить?
2. vanicon - 26 Июня, 2013 - 03:21:26 - перейти к сообщению
Lihtenshtein
Попробуйте вывести запрос на экран
3. Lihtenshtein - 26 Июня, 2013 - 03:23:32 - перейти к сообщению
vanicon пишет:
Lihtenshtein
Попробуйте вывести запрос на экран

CODE (htmlphp):
скопировать код в буфер обмена
  1. INSERT INTO `music` (`name`, `href`) VALUES ('', 'music.onion/music/')

вот что вышло
4. vanicon - 26 Июня, 2013 - 03:25:40 - перейти к сообщению
Lihtenshtein
Теперь выполните его в phpmyadmin, если вставиться то дело не в запросе
(Добавление)
Стоп.
Lihtenshtein пишет:
"$mysql_query($query)
               or die(mysql_error())";

А это что такое?
5. Lihtenshtein - 26 Июня, 2013 - 03:31:03 - перейти к сообщению
vanicon
не поняла, я вот этот запрос VALUES ('$somename', 'music.onion/music/$somename'); могу вставить и он выполнится однако занесёт в базу именно $somename и music.onion/music/$somename
6. vanicon - 26 Июня, 2013 - 03:32:17 - перейти к сообщению
Lihtenshtein
Я уже увидел ошибку дело тут
Lihtenshtein пишет:
$result = "$mysql_query($query)
               or die(mysql_error())";

надо так
7. Lihtenshtein - 26 Июня, 2013 - 03:32:35 - перейти к сообщению
vanicon пишет:
Стоп.
Lihtenshtein пишет:"$mysql_query($query)
               or die(mysql_error())";
А это что такое?
эмм... а что? кавычки не нужны чтоль? щас проверю
(Добавление)
так, хорошо, строки пошли однако они пустые полность пустые
(Добавление)
база данных отказывается воспринимать $somename и весь адрес
8. vanicon - 26 Июня, 2013 - 03:39:44 - перейти к сообщению
Lihtenshtein
В коде я не вижу у вас откуда берется переменная $somename...
9. Lihtenshtein - 26 Июня, 2013 - 03:42:23 - перейти к сообщению
из формы там name="somename" вот я и взяла оттуда, но догадываюсь что сиё действие не верное как же тогда создать эту переменную
10. vanicon - 26 Июня, 2013 - 03:44:30 - перейти к сообщению
Выше запроса напишите
PHP:
скопировать код в буфер обмена
  1. $somename = $_FILES['somename']['name'];
11. Lihtenshtein - 26 Июня, 2013 - 03:48:13 - перейти к сообщению
vanicon пишет:
Выше запроса напишите
PHP:
скопировать код в буфер обмена
  1. $somename = $_FILES['somename']['name'];

ооо Браво название появилось а адрес нет но я знаю почему, я графу href сделала типа INT а нужно TEXT
(Добавление)
vaniconспасибки тебе Воздушный поцелуй
12. Lihtenshtein - 26 Июня, 2013 - 16:06:26 - перейти к сообщению
Снова проблема: я поставила в href
CODE (htmlphp):
скопировать код в буфер обмена
  1. VALUES ('$somename',  '<a href="music.onion/music/$somename">Скачать</a>')";
вместо
CODE (htmlphp):
скопировать код в буфер обмена
  1. VALUES ('$somename',  'music.onion/music/$somename')";
и вот что пишет скрипт при исполнении
Спойлер (Отобразить)
ну естественно строка 40 - это строка с тем кодом что я поменяла, как быть?
13. Denkill - 26 Июня, 2013 - 16:09:52 - перейти к сообщению
У тебя путаница с кавычками
PHP:
скопировать код в буфер обмена
  1. VALUES ('$somename',  "<a href='music.onion/music/".$somename."'>Скачать</a>')";
14. Lihtenshtein - 26 Июня, 2013 - 17:05:59 - перейти к сообщению
вот что вышло
CODE (htmlphp):
скопировать код в буфер обмена
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'music.onion/music/Breaking Benjamin - Dance With The Devil.mp3'>???????')' at line 2
это при загрузке песни Breaking Benjamin - Dance With The Devil.mp3
15. esterio - 26 Июня, 2013 - 17:11:00 - перейти к сообщению
mysql_real_escape_string

 

Powered by ExBB FM 1.0 RC1