Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77

Как добавить к своей форме добавления товаров возможность добавления изображений

20.06.2015, 15:27. Показов 2728. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день, я уже некоторое время пытаюсь писать свою админку, теперь встала задача чтобы добавить к уже написанной странице с формой добавления товаров в базу - возможность добавлять изображения. я смотрел много всяких статей в интернете по этому поводу, но не смог найти чего то подходящего, всё либо слишком сложно описано либо не дописано.

вот часть кода моей страницы добавления нового товара:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        <div id="main">
            <div class="forma">
                <form action="tovar_add.php" method="post" name="form">
                <label>Введите категорию товара<br>
                <input name="type" type="text" id="name" size="10" maxlength="15">
                </label>
                <label>Введите название товара<br>
                <input name="name" type="text" id="name" size="30" maxlength="20">
                </label>
                <br>
                <label>Введите дату добавления<br>
                <input name="date" type="text" class="value" id="date" value="01.01.0001" size="20" maxlength="20">
                </label>
                </p>
                <label>Введите сюда описание товара<br>
                <textarea name="discription" id="discription" cols="100" rows="7"></textarea>
                </label>
                <br>
                <p><input name="submit" type="submit" value="Добавить">
                </p>
                </form>  
            </div><!--class - forma end --> 
        </div><!-- main end -->
а вот и код обработчика:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        <div id="main">
        
            <?php 
            
                if (isset($type) && isset($name) && isset($date) && isset($discription))
                {
                    $result = mysql_query("INSERT INTO tovar (type, name, date, discription) VALUES ('$type', '$name', '$date', '$discription')");
                    
                    if ($result = 'true')
                    {
                        echo "Товар добавлен в каталог!";
                    }  
                    else
                    {
                        echo "Товар не добавлен!";
                    }
                                 
                }
                else
                {
                    echo "Вы ввели не всю информацию!!";
                }
            ?>
        
        
        </div>

как бы всё работает просто прошу помощи в том как и что куда добавить чтоб получить возможность добавлять и изображения вместе с товарами.

заранее извиняюсь, если где то не так выразился- дайте знать и всё распишу
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2015, 15:27
Ответы с готовыми решениями:

Как сделать возможность добавления товаров пользователями
как можно сделать в opencart функцию для пользователей, что бы они могли добавлять товары, то есть пользователь регается, потом он мог бы...

Возможность добавления файлов после добавления
&lt;form method=&quot;POST&quot; enctype=&quot;multipart/form-data&quot; action=&quot;&quot;&gt; &lt;input type=&quot;file&quot; multiple name=&quot;file&quot; size=&quot;20&quot;&gt;FILE&lt;hr&gt; &lt;input...

Переделать программу-опросник (добавить возможность добавления вопросов в рантайме)
сделал опросник. можете помочь, я теперь хочу сделать так, чтобы можно было вопросы самому добавлять вопросы прямо во время работы...

19
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 16:04
добавить в форму поле для выбора файла, в обработчике проверяете, если выбран, загружаете на сервер и записываете в базу путь к файлу
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 16:22  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
добавить в форму поле для выбора файла, в обработчике проверяете, если выбран, загружаете на сервер и записываете в базу путь к файлу
это я и хочу сделать но в интернете нашёл только виды загрузки самих изображений на сервер а не путей(
можете какой то сайт порекомендовать где это всё расписано ?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 16:31
Цитата Сообщение от PinkFloydRulit Посмотреть сообщение
нашёл только виды загрузки самих изображений на сервер а не путей(
так вам и нужно загрузить файл на сервер, а потом записать в базу путь к загруженному
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 16:32  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
так вам и нужно загрузить файл на сервер, а потом записать в базу путь к загруженному
как бы дело в том что я весь сайт ещё на локалхосте готовлю
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 16:35
Цитата Сообщение от PinkFloydRulit Посмотреть сообщение
как бы дело в том что я весь сайт ещё на локалхосте готовлю
локалхост, это и есть сервер(локальный, на компе)
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 16:38  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
локалхост, это и есть сервер(локальный, на компе)
это я понимаю, но не понимаю как тогда загрузить файл на сервер? понимаете мне надо это удобство создать для последующих владельцев которые ничего в этом не смыслят, чтобы они могли просто зайти в админку добавить новый товар с описаниями и фото выбрать со своего компа
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 17:41
Лучший ответ Сообщение было отмечено PinkFloydRulit как решение

Решение

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<form method="post" enctype="multipart/form-data">
        <label>Выберите  изображение</label>
        <input type="file" name="file" >
        <input type="submit" name="sub" value="Загрузить">
 </form> 
 
<?php
//директория, куда сохраняем
$dir = 'media/images/';
// массив разрешеных расширенией
$extensions = array('jpeg', 'jpg', 'png', 'gif','mp3','mp4','xls');
// максимальный размер файла
$max_size = 500000;
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
    // проверяем чтобы размер файла не был больше максимального
    if ($_FILES['file']['size'] > $max_size){
      echo 'файл больше допустимого размера';
    }
    else{
        //получаем рассширение файла
        $ext = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
        // проверяем есть ли расширение в массиве допустимых
        if (in_array($ext, $extensions)){
            //задаем имя файда
            $name =  uniqid() . '.' . $ext;
            $path =$dir.$name;
            //сохраняем
            if (move_uploaded_file($_FILES['file']['tmp_name'], $path)){
                echo 'файл загружен';
            }
            else{
                echo 'файл закрузить не удалось';
            }
        }
     }
?>
}
Добавлено через 58 минут
в вашем случае, как-то так
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        <div id="main">
            <div class="forma">
                <form enctype="multipart/form-data" action="tovar_add.php" method="post" name="form">
                <label>Введите категорию товара<br>
                <input name="type" type="text" id="name" size="10" maxlength="15">
                </label>
                <label>Введите название товара<br>
                <input name="name" type="text" id="name" size="30" maxlength="20">
                </label>
                <br>
                <label>Введите дату добавления<br>
                <input name="date" type="text" class="value" id="date" value="01.01.0001" size="20" maxlength="20">
                </label>
                </p>
                <label>Введите сюда описание товара<br>
                <textarea name="discription" id="discription" cols="100" rows="7"></textarea>
                </label>
                <br>
                <label>Загрузите файл <br>
                <input type="file" name="file">
                </label>
                <p><input name="submit" type="submit" value="Добавить">
                </p>
                </form>  
            </div><!--class - forma end --> 
        </div><!-- main end -->
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//директория загрузки файлов
$dir = 'media/images/';
// массив разрешеных расширенией
$extensions = array('jpeg', 'jpg', 'png', 'gif');
// максимальный размер файла
$max_size = 500000;
if (isset($type) && isset($name) && isset($date) && isset($discription)){
    if($_FILES['file']['size']> 0){
    // проверяем чтобы размер файла не был больше максимального
        if ($_FILES['file']['size'] > $max_size){
          echo 'файл больше допустимого размера';
        }
        else{
            //получаем рассширение файла
            $ext = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
            // проверяем есть ли расширение в массиве допустимых
            if (in_array($ext, $extensions)){
                //задаем имя файда
                $name =  uniqid() . '.' . $ext;
                $path =$dir.$name;
                //сохраняем
                if (move_uploaded_file($_FILES['file']['tmp_name'], $path)){
                    echo 'файл загружен';
                    $image = true;
                }
                else{
                    echo 'файл, закрузить не удалось';
                }
            }
            else{
                echo 'недопустимое расширение файла';
            }
         }
     }
// создайте в таблице поле для хранения имени изображения
    $img = isset($image)?$name:'';
    $result = mysql_query("INSERT INTO `tovar` (`type`, `name`, `date`,`discription`, `img`) VALUES ('".$type."', '".$name."', '".$date."', '".$discription."','".$img."')");
 
    if ($result){
        echo "Товар добавлен в каталог!";
    }  
    else{
        echo "Товар не добавлен!";
    }
    
}
else{
    echo "Вы ввели не всю информацию!!";
}
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 17:43  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
в вашем случае, как-то так
эта часть уже как я понимаю должна находиться в моём обработчике add_tovar.php?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 18:07
ну да, там, куда отправляется форма
HTML5
1
<form enctype="multipart/form-data" action="tovar_add.php" method="post" name="form">
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 18:07  [ТС]
можете ещё сказать в каком формате мне добавить в мою таблицу колонку img? у меня она такая :
Миниатюры
Как добавить к своей форме добавления товаров возможность добавления изображений  
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 18:17
varchar
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 18:31  [ТС]
что то не так ... при там в поле
PHP
1
2
3
                //задаем имя файда
                $name =  uniqid() . '.' . $ext;
                $path =$dir.$name;
пользуется переменной $name - которая у меня отвечает за имя товара,

вот что выдаёт - на рисунках


в итоге добавляет но изображение не показывает
Миниатюры
Как добавить к своей форме добавления товаров возможность добавления изображений   Как добавить к своей форме добавления товаров возможность добавления изображений   Как добавить к своей форме добавления товаров возможность добавления изображений  

0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 18:36
не досмотрел. получилось и название товара $name и имя изображения $name. измените $name для изображения
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 18:38  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
не досмотрел. получилось и название товара $name и имя изображения $name. измените $name для изображения
тоесть в таблицу ещё одно поле добавить для имени изображения скажем $title ?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 18:38
Лучший ответ Сообщение было отмечено PinkFloydRulit как решение

Решение

нет, изменить название переменной
PHP
1
2
3
$name_img =  uniqid() . '.' . $ext;
 $path =$dir.$name_img;
$img = isset($image)?$name_img:'';
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 18:56  [ТС]
сделал, но вот посмотрите на сайте такой у меня код где выводятся товары

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        <?php
        
        $result = mysql_query("SELECT id, name, date, discription, img FROM tovar ", $db);
        $myrow = mysql_fetch_array($result);
        
        do
        {
            printf ("<table align='center' class='catalog'>
                    <tr>
                      <th class='catalog_title'><p>%s</p><p>Дата добавления:%s</p></th>
                    </tr>
                    <tr>
                      <td>%s</td>
                    </tr>
                    <tr>
                      <td>%s</td>
                    </tr>
                     </table><br><br>", $myrow["name"], $myrow["date"], $myrow["img"], $myrow["discription"] );
        }
        while ($myrow = mysql_fetch_array($result));
              
        ?>

и тут он просто как я понял получает из $img название и не перевоплощает его в картинку
Миниатюры
Как добавить к своей форме добавления товаров возможность добавления изображений  
0
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 19:02  [ТС]
и я только увидел что он в директории которую я отметил создаёт копии загруженных картинок с другими именами
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.06.2015, 19:32
Лучший ответ Сообщение было отмечено PinkFloydRulit как решение

Решение

Цитата Сообщение от PinkFloydRulit Посмотреть сообщение
$img название и не перевоплощает его в картинку
что значит не перевоплощает. по щучьему велению?
чтобы изображение отобразилось нужно его вывести.
PHP
1
echo "<img src='путь к изображению/".$myrow['img']."'>";
1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 77
20.06.2015, 19:41  [ТС]
сделал так

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        do
        {
            printf ("<table align='center' class='catalog'>
                    <tr>
                      <th class='catalog_title'><p>%s</p><p>Дата добавления:%s</p></th>
                    </tr>
                    <tr>
                      <td><img src='../img/%s'></td>
                    </tr>
                    <tr>
                      <td>%s</td>
                    </tr>
                     </table><br><br>", $myrow["name"], $myrow["date"], $myrow["img"], $myrow["discription"] );
        }
        while ($myrow = mysql_fetch_array($result));
и сработало)

спасибо огромное, и простите что столько нервов вам потрепал!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.06.2015, 19:41
Помогаю со студенческими работами здесь

сайт php с базой на localhost (Нужно добавить возможность удаления - добавления в базу)
Всем доброго дня и с наступающим! Делаю курсовую &quot;сайт php с базой MySQL на localhost&quot; Не могу реализовать возможность удаления -...

Как реализовать возможность добавления названий файлов в таблицы (таблица в ферме)?
Здравствуйте, гуру. Возник вопрос. Как реализовать возможность добавления листинга файлов в соответствующее поле в таблице (и в...

Как сделать на сайте админ панель для добавления товаров на сайт?
Здравствуйте, хотел бы узнать как сделать на сайте админ панель для добавления товаров на сайт (тематика сайта интернет магазин по продаже...

Кнопка добавления товаров
Доброго времени суток. Частенько встречается кнопка в интернет-магазинах, при клике на которую показывается +10 (к примеру) товаров...

Возможность добавления картинок в базу
Здравствуйте! Подскажите, пожалуйста, как осуществить добавление картинок в базу. Существует база недвижимости, необходимо добавлять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru