Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
A_Pershin
0 / 0 / 0
Регистрация: 02.08.2017
Сообщений: 12
1

Поиск ошибок и уязвимостей в коде отправки данных из формы html в БД MySQL

05.12.2017, 13:33. Просмотров 727. Ответов 1
Метки нет (Все метки)

Здравствуйте. Я приступил к изучению отправки данных из форм html в БД MySQL. Я стараюсь писать код правильно, но информация в интернете достаточно сильно разбросана. Пожалуйста, укажите на ошибки и/или уязвимости в моём коде. Большое спасибо.

PHPHTML
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
<?php
#Соединение с БД
$host = 'хост';
$user = 'логин';
$password = 'пароль';
$dbname = 'имя БД';
 
$dsn = 'mysql:host=' . $host . ';dbname=' . $dbname;
 
$pdo = new PDO($dsn, $user, $password);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
 
#Запуск сессии
session_start();
 
if(isset($_POST['send'])){
  #Извлечение данных, введённых в форму
  $operation_ID = $_POST['operation_ID'];
  $operation_date = $_POST['operation_date'];
  $operation_time = $_POST['operation_time'];
  $item = $_POST['item'];
  $item_ID = $_POST['item_ID'];
  $status = $_POST['status'];
  $balance = $_POST['balance'];
  $balance_real = $_POST['balance_real'];
  $current_cost = $_POST['current_cost'];
  $amount = $_POST['amount'];
 
  #Отправка полученных данных в БД
  $sql = 'INSERT INTO operations(operation_ID, operation_date, operation_time, item, item_ID, status, balance, balance_real, current_cost, amount) VALUES(:operation_ID, :operation_date, :operation_time, :item, :item_ID, :status, :balance, :balance_real, :current_cost, :amount)';
  $stmt = $pdo->prepare($sql);
  $stmt->execute([
    operation_ID => $operation_ID,
    operation_date => $operation_date,
    operation_time => $operation_time,
    item => $item,
    item_ID => $item_ID,
    status => $status,
    balance => $balance,
    balance_real => $balance_real,
    current_cost => $current_cost,
    amount => $amount,
  ]);
}
?>
<html>
  <head>
    <meta charset="utf-8">
    <title>sending page</title>
  </head>
  <body>
    <form method='post' name='sending_test'>
      <input type='number' name='operation_ID' placeholder='ID операции'>
      <input type='date' name='operation_date' placeholder='дата операции'>
      <input type='time' name='operation_time' placeholder='время операции'>
      <input type='text' name='item' placeholder='предмет'>
      <input type='number' name='item_ID' placeholder='ID предмета'>
      <select name='status'>
        <option value='продан'>продан</option>
        <option value='на складе'>на складе</option>
      </select>
      <input type='number' name='balance' placeholder='баланс'>
      <input type='number' name='balance_real' placeholder='баланс (руб.)'>
      <input type='number' name='current_cost' placeholder='текущая стоимость'>
      <input type='number' name='amount' placeholder='количество на ТП'>
      <!--Кнопка отправки формы-->
      <input type='submit' name='send' value='отправить'>
    </form>
  </body>
</html>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2017, 13:33
Ответы с готовыми решениями:

Добавления данных с html формы в MySql
Здравствуйте, сделал html форму и с этой формы хочу сохранить данные в MySql базу: вот html форма:...

Пропадают переменные после отправки формы в MySQL
Всем привет! При отправке формы переменные не попадают в базу. Проверка echo '&lt;pre&gt;' ....

Ошибки во время отправки данных в БД Mysql
При вводе данных в Форму данные попадают в Базу Данных не как числа, а как буквы переменных HTML...

Как вывести определённое значение из Mysql в html коде?
Подскажите пожалуйста как вывести конкретное значение если есть несколько таблиц в одной данные...

Поиск ошибок в коде
Здравствуйте, изучаю исходный код в 150 страниц на языке Си. Вопрос: Очень интересует грамотный...

1
Jewbacabra
Эксперт PHP
3433 / 2857 / 1286
Регистрация: 24.04.2014
Сообщений: 8,665
05.12.2017, 21:39 2
Лучший ответ Сообщение было отмечено A_Pershin как решение

Решение

Цитата Сообщение от A_Pershin Посмотреть сообщение
$operation_ID = $_POST['operation_ID'];
Следует проверять наличие данных элементов в массиве
Цитата Сообщение от A_Pershin Посмотреть сообщение
operation_ID => $operation_ID
Все строки следует заключать в кавычки. Именнованный папаметр должен полностью совпадать с используемым в тексте запроса, в том числе должно быть и двоеточие вначале

Отсутствует doctype
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2017, 21:39

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

Поиск ошибок в HTML И CSS
Доброго времени суток, пишу свой первый сайт, а опыта и знаний в этом деле абсолютно 0, можете ли...

HTML+PHP Форма. Как вывести сообщение на стр-е отправки формы?
Здраствуйте такая небольшая проблема... Есть, например, такая простейшая форма: &lt;form...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru