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

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

05.12.2017, 13:33. Просмотров 122. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос MySQL Поиск ошибок и уязвимостей в коде отправки данных из формы html в БД MySQL (PHP БД):

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

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

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

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

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

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

1
Jewbacabra
Эксперт PHP
3093 / 2680 / 1226
Регистрация: 24.04.2014
Сообщений: 8,207
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
Доброго времени суток, пишу свой первый сайт, а опыта и знаний в этом деле...

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

Таймер отправки данных на MySql
Помогите решить проблему на java только подсел раньше писал на delphi xe5 под...

Простейший скрипт отправки заполненной юзером формы html на мой электронный адрес
Всем привет! Подскажите, пожалуйста, алгоритм скрипта, который будет отправлять...


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

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

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