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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Добавление в базу данных имени (и ссылки на) загружаемого файла.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Пользователь загружает файл, нужно чтоб его имя и ссылка на него заносились в My Sql
Lihtenshtein
Отправлено: 26 Июня, 2013 - 03:13:53
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Файл 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');

как это исправить?
 
 Top
vanicon
Отправлено: 26 Июня, 2013 - 03:21:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Lihtenshtein
Попробуйте вывести запрос на экран


-----
Так было, так есть и так будет
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 03:23:32
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




vanicon пишет:
Lihtenshtein
Попробуйте вывести запрос на экран

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

вот что вышло
 
 Top
vanicon
Отправлено: 26 Июня, 2013 - 03:25:40
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Lihtenshtein
Теперь выполните его в phpmyadmin, если вставиться то дело не в запросе
(Добавление)
Стоп.
Lihtenshtein пишет:
"$mysql_query($query)
               or die(mysql_error())";

А это что такое?


-----
Так было, так есть и так будет
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 03:31:03
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




vanicon
не поняла, я вот этот запрос VALUES ('$somename', 'music.onion/music/$somename'); могу вставить и он выполнится однако занесёт в базу именно $somename и music.onion/music/$somename
 
 Top
vanicon
Отправлено: 26 Июня, 2013 - 03:32:17
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Lihtenshtein
Я уже увидел ошибку дело тут
Lihtenshtein пишет:
$result = "$mysql_query($query)
               or die(mysql_error())";

надо так


-----
Так было, так есть и так будет
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 03:32:35
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




vanicon пишет:
Стоп.
Lihtenshtein пишет:"$mysql_query($query)
               or die(mysql_error())";
А это что такое?
эмм... а что? кавычки не нужны чтоль? щас проверю
(Добавление)
так, хорошо, строки пошли однако они пустые полность пустые
(Добавление)
база данных отказывается воспринимать $somename и весь адрес

(Отредактировано автором: 26 Июня, 2013 - 03:33:14)

 
 Top
vanicon
Отправлено: 26 Июня, 2013 - 03:39:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Lihtenshtein
В коде я не вижу у вас откуда берется переменная $somename...


-----
Так было, так есть и так будет
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 03:42:23
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




из формы там name="somename" вот я и взяла оттуда, но догадываюсь что сиё действие не верное как же тогда создать эту переменную

(Отредактировано автором: 26 Июня, 2013 - 03:43:49)

 
 Top
vanicon
Отправлено: 26 Июня, 2013 - 03:44:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Выше запроса напишите
PHP:
скопировать код в буфер обмена
  1. $somename = $_FILES['somename']['name'];


-----
Так было, так есть и так будет
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 03:48:13
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




vanicon пишет:
Выше запроса напишите
PHP:
скопировать код в буфер обмена
  1. $somename = $_FILES['somename']['name'];

ооо Браво название появилось а адрес нет но я знаю почему, я графу href сделала типа INT а нужно TEXT
(Добавление)
vaniconспасибки тебе Воздушный поцелуй
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 16:06:26
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Снова проблема: я поставила в href
CODE (htmlphp):
скопировать код в буфер обмена
  1. VALUES ('$somename',  '<a href="music.onion/music/$somename">Скачать</a>')";
вместо
CODE (htmlphp):
скопировать код в буфер обмена
  1. VALUES ('$somename',  'music.onion/music/$somename')";
и вот что пишет скрипт при исполнении
Спойлер (Отобразить)
ну естественно строка 40 - это строка с тем кодом что я поменяла, как быть?
 
 Top
Denkill
Отправлено: 26 Июня, 2013 - 16:09:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


Помог: 7 раз(а)




У тебя путаница с кавычками
PHP:
скопировать код в буфер обмена
  1. VALUES ('$somename',  "<a href='music.onion/music/".$somename."'>Скачать</a>')";


-----
Хо-Хо-Хо
 
 Top
Lihtenshtein
Отправлено: 26 Июня, 2013 - 17:05:59
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




вот что вышло
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
 
 Top
esterio
Отправлено: 26 Июня, 2013 - 17:11:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB