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

Добавление новой записи в базу данных посредством php

28.05.2019, 21:40. Показов 2154. Ответов 26

Студворк — интернет-сервис помощи студентам
Нужно добавить новую запись в базу данных, как реализовать загрузку изображения...уже 2 недели ломаю голову, php знаю плохо,помогите,добрые умы!!!
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
if (isset($_GET['addform']))
{
  include $_SERVER['DOCUMENT_ROOT'].'/poteryashki.ru/includes/db.inc.php';
  if(!empty($_FILES['img_scr']['tmp_name']))
  {
    if(!move_uploaded_file($_FILES['img_scr']['tmp_name'],'file/'.$_FILES['img_scr']['name']))
    {
      exit("
        Не удалось загрузить изображение.");
 
    }
    $photo='file/'.$_FILES['img_scr']['name'];
  }
  else
  {
    exit("Необходимо загрузить изображение!");
  }
  try
  {
    $sql = 'INSERT INTO animal SET
        nickname = :nickname,
        gender = :gender,
        kind = :kind,
        breed = :breed,
        photo = :photo';
    $s = $pdo->prepare($sql);
    $s->bindValue(':nickname', $_POST['nickname']);
    $s->bindValue(':gender', $_POST['gender']);
    $s->bindValue(':kind', $_POST['kind']);
    $s->bindValue(':breed', $_POST['breed']);
    $s->bindValue(':photo', $_POST['photo']);
    $s->execute();
 
    $id_animal=$pdo->lastInsertId();
 
    $sql2 = 'INSERT INTO users SET
        name = :name,
        surname=:surname,
        email = :email,
        phone = :phone';
    $s2 = $pdo->prepare($sql2);
    $s2->bindValue(':name', $_POST['name']);
    $s2->bindValue(':surname', $_POST['surname']);
    $s2->bindValue(':email', $_POST['email']);
    $s2->bindValue(':phone', $_POST['phone']);
    $s2->execute();
 
    $id_user=$pdo->lastInsertId();
 
    $sql3 = 'INSERT INTO advert SET
        id_status = :id_status,
        id_animal=:id_animal,
        id_user = :id_user,
        location = :location,
        adate = :adate,
        atime = :atime,
        comment = :comment,
        date_advert = NOW()';
    $s3 = $pdo->prepare($sql3);
    $s3->bindValue(':location', $_POST['location']);
    $s3->bindValue(':adate', $_POST['adate']);
    $s3->bindValue(':atime', $_POST['atime']);
    $s3->bindValue(':comment', $_POST['comment']);
    $s3->bindValue(':id_animal', $id_animal);
    $s3->bindValue(':id_user', $id_user);
    $s3->bindValue(':id_status',$_POST['status']);
    $s3->execute();    
  }
  catch (PDOException $e)
  {
    $error = 'Ошибка при добавлении объявления: ' . $e->getMessage();
    include 'error.html.php';
    exit();
  }
}
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<form action="?<?php htmlout($action);?>" method="post" enctype="multipart/form-data">
        <table>
            <th colspan="5">
                <select name="status" id="status" required>
                    
                    <?php foreach ($statuss as $status):?>
                        <option value="<?php htmlout($status['id']);?>"
                            <?php
                            if($status['id']==$id_status)
                        {
                            echo 'selected';
                        }?>>
                        <?php htmlout($status['name_s']);?>
                            
                        </option>
                    <?php endforeach;?>
                </select>
            </th>
            <tr>
                <td rowspan="8"><input type="file" name="photo" value="<?php htmlout($photo);?>"></td>
                <td colspan="2">Информация о животном</td>
                <td colspan="2">Информация о владельце</td>
            </tr>
            <tr><td>Вид животного:</td>
                <td>
                    <select name="kind" id="kind" required>
                        <?php foreach ($kinds as $kind):?>
                            <option value="<?php htmlout($kind['id']);?>"<?php if($kind['id']==$kind)
                            {
                                echo 'selected';
                            }?>>
                            <?php htmlout($kind['name_k']);?>
                                    
                            </option>
                        <?php endforeach;?>
                    </select>
                    
                </td>
            </tr>
            <tr>
                <td>Кличка:</td>
                <td><input type="text" name="nickname" value="<?php htmlout($nickname);?>"></td>
                <td>Имя:</td>
                <td><input type="text" name="name" value="<?php htmlout($name);?>"></td>
            </tr>
            <tr>
                <td>Пол:</td>                
                <td>
                    <select name="gender" id="gender" required>
                        <?php foreach ($genders as $gender):?>
                            <option value="<?php htmlout($gender['id']);?>"
                                <?php 
                                if($gender['id']==$gender){
                                    echo 'selected';}?>>
                                <?php htmlout($gender['name_g']);?>
                                    
                            </option>
                        <?php endforeach;?>
                    </select>
                </td>
                <td>Фамилия:</td>
                <td><input type="text" name="surname" value="<?php htmlout($surname);?>"></td>
            </tr>
            <tr>
                <td>Порода:</td>
                <td><input type="text" name="breed" value="<?php htmlout($breed);?>"></td>
                <td>Эл. почта:</td>
                <td><input type="email" name="email" value="<?php htmlout($email);?>"></td>
            </tr>
            <tr>
                <td>Время:</td>
                <td><input type="time" name="atime" value="<?php htmlout($atime);?>"></td>
                <td>Телефон:</td>
                <td><input type="text" name="phone" value="<?php htmlout($phone);?>"></td>
            </tr>
            <tr>
                <td>Дата:</td>
                <td><input type="date" name="adate" value="<?php htmlout($adate);?>"></td>
            </tr>
            <tr>
                <td>Местоположение:</td>
                <td><input type="text" name="location" value="<?php htmlout($location);?>"></td>
            </tr>
            <tr>
                <td style="top: 0;">Дополнительная информация:</td>
                <td colspan="5">
                    <textarea cols="100" rows="7" value="<?php htmlout($comment);?>"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="hidden" name="id" value="<?php htmlout($id);?>">
                    <input type="submit" value="<?php htmlout($button);?>">
                </td>
            </tr>
        </table>        
    </form>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2019, 21:40
Ответы с готовыми решениями:

Добавление и редактирование новой записи в базу данных посредством php
Приветствую, мне необходимо реализовать добавление и редактирование записей из php, пробовал уже разные способы, искал в интернете, не...

Добавление новой записи в базу
Добрый вечер. Делаю добавление новой записи в таблицу базы. Проблема, как я понимаю, при вставке даты. Программа вылетает на последней...

Импорт из csv в базу данных посредством php скрипта
Привет, друзья. Есть php скрипт &lt;?php $file_name = 'сайт.ру/uploads/files/content.csv'; // абсолютный путь до файла //$file_name =...

26
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
29.05.2019, 09:39
А какие ошибки?
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 10:37  [ТС]
выводит ошибку с кода "Необходимо загрузить изображение"...и всё...Помогите прошу ВАС(
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 11:02
Azaliya98, в вашей форме я наблюдаю только одно поле с типом file, но его имя == photo, а не img_scr
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 11:22  [ТС]
следует, нужно изменить везде img_scr -> photo??????
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 11:26
Azaliya98, судя по тому коду, что вижу я - да.
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 11:31  [ТС]
я всё изменила, теперь url идет в базу данных , не подскажете ,как сделать что она отображалась на сайте???
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 11:36
Цитата Сообщение от Azaliya98 Посмотреть сообщение
как сделать что она отображалась на сайте?
"Она" - это кто или что? Картинка/изображение?
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 11:40  [ТС]
это фотография/картинка
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 11:49
Azaliya98, давайте вернемся на шаг назад.
Цитата Сообщение от Azaliya98 Посмотреть сообщение
теперь url идет в базу данных
Какой url туда попадает? По идее, после успешной загрузки файла, вы должны сформировать путь к файлу на сервере и именно его записать в базу. Проверьте - так ли это и существует ли файл по данному пути. Если всё нормально, то при выводе просто берете из базы этот путь и подставляете его в атрибут src элемента <img>
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 12:15  [ТС]
хм,в базу уходит совершенно другой путь(((((((хотя в папке, которую я указала для загрузки , фотографии загрузились
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 12:38
Цитата Сообщение от Azaliya98 Посмотреть сообщение
в базу уходит совершенно другой путь
Это временный путь к загруженному файлу. Вам же нужен путь, который присвоен переменной $photo (в коде выше - это строка 12).
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 13:32  [ТС]
я беспомощна
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 13:33  [ТС]
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 13:37  [ТС]
никак не работает
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 13:40  [ТС]
и так((
Миниатюры
Добавление новой записи в базу данных посредством php  
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 13:54
Azaliya98, покажите путь, который у вас в БД

Добавлено через 35 секунд
Папка "file" находится в корне сайта?
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 13:57  [ТС]
вот так он выводит побитую картинку

Название: 121.png
Просмотров: 16

Размер: 528 байт
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.05.2019, 14:02
Azaliya98, вы на мои вопросы не дали ответ.
И это еще не всё. Что у вас в переменной $advert? Если она содержит данные из базы, в том числе и данные из таблицы animal, то подставлять значение в src нужно по тому же принципу, что и $advert['nickname']. Т.е.
PHP/HTML
1
<img src="<?= $advert['photo'];?>" alt="">
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 45
29.05.2019, 14:04  [ТС]
в корне

Добавлено через 1 минуту
я так понимаю,нужно задать размер,для того,чтобы картинка отображалась?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2019, 14:04
Помогаю со студенческими работами здесь

Звуковой сигнал при добавлении новой записи в Базу Данных
Добрый день. Есть сайт, на котором зарегистрированные пользователи могут писать друг другу личные сообщения. Существует таблица users...

Php и добавление в базу данных через форму - PHP БД
Привет. Есть вопрос не могу понять почему данные не добавляются в таблицу. вроде все верно. &lt;h2...

Добавление записи в Базу данных
Добрый вечер, Есть работающее приложение для чтения и отправки сообщений. Необходимо записать входящие сообщения в бд. Пытаюсь пытаюсь...

Добавление записи в базу данных
Private Sub Command1_Click() Data1.Recordset.AddNew End Sub Private Sub Command2_Click() Text1.Text = Test.Text1.Text ...

Добавление записи в базу данных
такой вопрос, как додавить новую запись в базу данных с второй формы?? даные вводятся в textbox! если можно пример киньте) использую аксес...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru