Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2018, 10:16   #11
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Сделал так
PHP код:
include"include/db_connect.php";

$orderlist mysqli_real_escape_string($link$orderlist);
$orderlist = ($_POST['orderlist']);//Заказ

$itog mysqli_real_escape_string($link$itog);
$itog $_POST['itog'];//Итого
$itog str_replace('.'','$itog);

$userdata mysqli_real_escape_string($link$userdata);
parse_str($_POST['userdata'], $userdata);//Клиент

$stmtuser $link->prepare("INSERT INTO `client` (`name_client`, `email_client`, `phone_client`, `other_client`) VALUES (?, ?, ?, ?)");
$stmtuser->bind_param("ssss"$userdata['fio'], $userdata['mail'], $userdata['tel'], $userdata['text']);
$stmtuser->execute();
$stmtuser->close(); 
Вопрос, как оформить эту часть
PHP код:
$string = [];
foreach (
$orderlist as $prod) {
$value = [];
 foreach (
$prod as $item) {
 
$value[] = "'" $item "'";}
 
array_unshift($value$number);//добавляем номер заказа  в начало массива для дальнейшей передачи в таблицу
$string[] = '('.implode(', 'str_replace(',''.'$value)).')';}

$query "INSERT INTO `product` (`number`, `name`, `foto`, `raskroi`, `system`, `uprav`, `width`, `height`, `quantity`, `price`, `price_itog`) VALUES "implode(', '$string);
mysqli_query($link$query);// записываем данные заказа 
И ещё такой вопрос, если $itog отправляется только на почту и не коем образом не редактируется , то нужно как то оборачивать его? Да и вообще, данные которые не отправляются в БД нужно обрабатывать?
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 22.09.2018 в 10:23.
spoon100500 вне форума Ответить с цитированием
Старый 22.09.2018, 11:20   #12
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

еще есть XSS ..почитай
например в простейшем случае шлют тебе вместо имени такое:
Код:
<script>alert('XSS!!!!!'');</script>
при открытии в веб почтовике - если не включен запрет вполне вероятно увидет не то что ожидалось
ADSoft вне форума Ответить с цитированием
Старый 22.09.2018, 17:01   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Код:
$orderlist = mysqli_real_escape_string($link, $orderlist);
$orderlist = ($_POST['orderlist']);//Заказ

$itog = mysqli_real_escape_string($link, $itog);
$itog = $_POST['itog'];//Итого
$itog = str_replace('.', ',', $itog);
это, надеюсь, шутка??!

дело в том, что если Вы переменной присваиваете два раз подряд значения, то АБСОЛЮТНО неважно, что Вы там присвоили первый раз, это значение будет заменено на второе присвоение.

попробуйте на досуге проверить, чему будет равна переменная $orderlist после выполнения кода:

Код:
$orderlist = '111111';
$orderlist = '222'.'33333333'.$orderlist;
$orderlist = '100';
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.09.2018, 17:35   #14
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Пример из первой ссылки
PHP код:
$stmt $mysqli->prepare("SELECT * FROM myTable WHERE name = ? AND age = ?");
$stmt->bind_param("si"$_POST['name'], $_POST['age']);
$stmt->execute();
$stmt->close(); 
Одна переменная используется.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 22.09.2018, 17:59   #15
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

В примере по ссылке не просто переменная – а объект.
Andkorol вне форума Ответить с цитированием
Старый 22.09.2018, 18:02   #16
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут пример? Вы = от -> не отличаете?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.09.2018, 19:59   #17
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Вопрос, как оформить эту часть все таки
PHP код:
$string = [];
foreach (
$orderlist as $prod) {
$value = [];
 foreach (
$prod as $item) {
 
$value[] = "'" $item "'";}
 
array_unshift($value$number);//добавляем номер заказа  в начало массива для дальнейшей передачи в таблицу
$string[] = '('.implode(', 'str_replace(',''.'$value)).')';}

$query "INSERT INTO `product` (`number`, `name`, `foto`, `raskroi`, `system`, `uprav`, `width`, `height`, `quantity`, `price`, `price_itog`) VALUES "implode(', '$string);
mysqli_query($link$query); 
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 23.09.2018, 14:19   #18
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Ну ни кто не подскажет что ли?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать вывод данных с условием из MS SQL Server 2005 через PDO? Abdukhafiz PHP 1 22.11.2013 19:22
no sql statement available andrei4991 БД в Delphi 10 31.05.2013 14:41
empty sql statement Dozent БД в Delphi 2 19.02.2013 10:25
No SQL statement available MixanMM БД в Delphi 2 07.06.2011 07:53
SQL:Statement too long Ks2010 БД в Delphi 44 21.07.2010 18:16