Orkh3ll0 Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Здравствуйте. Opencart: 3.0.2.0 Новенький в MVC. Очень прошу помочь мне с кодом в котроллере, целый день потратил и могу вывести значения под для каждого товара. 1) Доавил в таблицу "Product" 4 столбца 2) Добавил в админ панеле новый таб Хочу вывести данные из ДБ в новый ТАБ При нажатии на действия изменить какого то товара, переходит на ссылку "catalog/product/edit" 1) Захожу в "model/catalog/product/product.php/" и создаю новую функцию, что бы выбрать столбцы public function getKreditdata($product_id) { $query = $this->db->query("select product_id,kredit_status, kredit_ay, kredit_faiz, kredit_min_ilkin from " . DB_PREFIX . "product where product_id = '".$product_id."' "); return $query->rows; } 2) Захожу в "controller/catalog/product/product.php" перехожу к функции "edit" и добавляю тут код что бы передать данные в twig(мне кажется тут у меня ошибка) $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); 3) Вывожу в "view/template/catalog/product_form.php" циклом FOR, но ничего не выводится. {% for kredata in kreditdata %} //например для теста вывожу {{ kredata.kredit_status ]} {% endfor %} Надіслати Поділитися на інших сайтах More sharing options...
Prorab337 Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 В контрллере массив не пуст этот ? $data['kreditdata'] Кеш твига чистите? Или отключен на время разработки? Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @Prorab337 Спасибо за ответ и помощь 4 минуты назад, Prorab337 сказал: Кеш твига чистите? Или отключен на время разработки? Да, постоянно, уже в привычку вошло) Не отключен на время разработки, а нужно включить? 4 минуты назад, Prorab337 сказал: В контрллере массив не пуст этот ? Делаю var_dump($data['kreditdata']) в контроллере и для каждого товара выводится привильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Выборка ОДНОГО товара, но возвращаешь МАССИВ СТРОК ($query->rows), а не одну строку ($query->row), как следовало бы. Поэтому массив есть, но перебираешь неправильно. Так что либо возвращай из модели только одну строку, либо переделывай перебор массива. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis в моделе, можете увидеть что я возвращаю ($query->rows). Проблема в том что, вообще не работает, даже 1 строку не возвращает. в Цикл for не заходит, думаю массив в контроллере не там вставляю, не знаю куда вставить, что бы правильно выводил все данные. var _dump работает и все правильно показывает, но при выводе в for, не работает Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 @Orkh3ll0 , менял в модели $query->rows на $query->row? Что получил? Не менял? МЕНЯЙ. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis все оставил как есть и в моделе в функции поменял $query->rows на $query->row , но все одно и тоже, не заходит в цикл FOR, но var_dump($data['kreditdata']) все правильно выводит. Вот пример: "array(5) { ["product_id"]=> string(2) "60" ["kredit_status"]=> string(1) "1" ["kredit_ay"]=> string(2) "18" ["kredit_faiz"]=> string(5) "5.000" ["kredit_min_ilkin"]=> string(6) "99.000" }" public function getKreditdata($product_id) { $query = $this->db->query("select product_id,kredit_status, kredit_ay, kredit_faiz, kredit_min_ilkin from " . DB_PREFIX . "product where product_id = '".$product_id."' "); return $query->row; } Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. - - - не досмотрел в первом сообщении: квадратная скобка в конце вместо фигурной - опечатка тут или прям в коде? {{ kredata.kredit_status ]} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis Сделал как вы сказали 6 минут назад, afwollis сказал: теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. Сделал, ничего не вывелось. Я новенький, но мне кажется только в цикле можно такое вывести {{ kreditdata.kredit_status }}, а если было бы просто {{ kredit_status }}, то вывелось бы, я прав? 6 минут назад, afwollis сказал: {{ kredata.kredit_status ]} это опечатка, в коде все правильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 ...надо высыпаться... проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Спойлер там, перед $data['header'] = $this->load->controller('common/header'); добавляй if (isset($this->request->post['kredit_status'])) { $data['kredit_status'] = $this->request->post['kredit_status']; } elseif (!empty($product_info)) { $data['kredit_status'] = $product_info['kredit_status']; } else { $data['kredit_status'] = array(); } if (isset($this->request->post['kredit_ay'])) { $data['kredit_ay'] = $this->request->post['kredit_ay']; } elseif (!empty($product_info)) { $data['kredit_ay'] = $product_info['kredit_ay']; } else { $data['kredit_ay'] = array(); } if (isset($this->request->post['kredit_faiz'])) { $data['kredit_faiz'] = $this->request->post['kredit_faiz']; } elseif (!empty($product_info)) { $data['kredit_faiz'] = $product_info['kredit_faiz']; } else { $data['kredit_faiz'] = array(); } if (isset($this->request->post['kredit_min_ilkin'])) { $data['kredit_min_ilkin'] = $this->request->post['kredit_min_ilkin']; } elseif (!empty($product_info)) { $data['kredit_min_ilkin'] = $product_info['kredit_min_ilkin']; } else { $data['kredit_min_ilkin'] = array(); } в шаблоне - просто {{ kredit_status }} {{ kredit_ay }} {{ kredit_faiz }} {{ kredit_min_ilkin }} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis нашел решение. Как и предполагал, проблема была в контроллере, не туда вписал код. Этот код массива $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); не нужно было просто в edit функцию вписать. Нужно было в функцию getForm() вписать, так как функция edit() возвращал функцию getForm. Вставил и без FOR цикла все вывелось. Отдельное и большое спасибо, за то что хотели помочь и помогли. Тему можно закрыть. Спасибо Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis 2 минуты назад, afwollis сказал: проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Нашли вместе, но вы лучше, так как у вас нету моих кодов под рукой) Спасибо большое) Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Кроме всего, мне показалось, что у тебя эти данные из другой таблицы выбираются (типа, как атрибуты). Поэтому лучше возьми мой код, так как нет смысла гонять лишние запросы для получения данных из таблицы product, ибо они все и так уже есть в "$product_info" if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Да и с точки зрения кода opencart этот вариант правильный. Успехов в дальнейшем освоении. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання [Решено] Не выводится переменные по циклу for Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @Prorab337 Спасибо за ответ и помощь 4 минуты назад, Prorab337 сказал: Кеш твига чистите? Или отключен на время разработки? Да, постоянно, уже в привычку вошло) Не отключен на время разработки, а нужно включить? 4 минуты назад, Prorab337 сказал: В контрллере массив не пуст этот ? Делаю var_dump($data['kreditdata']) в контроллере и для каждого товара выводится привильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options...
afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Выборка ОДНОГО товара, но возвращаешь МАССИВ СТРОК ($query->rows), а не одну строку ($query->row), как следовало бы. Поэтому массив есть, но перебираешь неправильно. Так что либо возвращай из модели только одну строку, либо переделывай перебор массива. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis в моделе, можете увидеть что я возвращаю ($query->rows). Проблема в том что, вообще не работает, даже 1 строку не возвращает. в Цикл for не заходит, думаю массив в контроллере не там вставляю, не знаю куда вставить, что бы правильно выводил все данные. var _dump работает и все правильно показывает, но при выводе в for, не работает Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 @Orkh3ll0 , менял в модели $query->rows на $query->row? Что получил? Не менял? МЕНЯЙ. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis все оставил как есть и в моделе в функции поменял $query->rows на $query->row , но все одно и тоже, не заходит в цикл FOR, но var_dump($data['kreditdata']) все правильно выводит. Вот пример: "array(5) { ["product_id"]=> string(2) "60" ["kredit_status"]=> string(1) "1" ["kredit_ay"]=> string(2) "18" ["kredit_faiz"]=> string(5) "5.000" ["kredit_min_ilkin"]=> string(6) "99.000" }" public function getKreditdata($product_id) { $query = $this->db->query("select product_id,kredit_status, kredit_ay, kredit_faiz, kredit_min_ilkin from " . DB_PREFIX . "product where product_id = '".$product_id."' "); return $query->row; } Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. - - - не досмотрел в первом сообщении: квадратная скобка в конце вместо фигурной - опечатка тут или прям в коде? {{ kredata.kredit_status ]} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis Сделал как вы сказали 6 минут назад, afwollis сказал: теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. Сделал, ничего не вывелось. Я новенький, но мне кажется только в цикле можно такое вывести {{ kreditdata.kredit_status }}, а если было бы просто {{ kredit_status }}, то вывелось бы, я прав? 6 минут назад, afwollis сказал: {{ kredata.kredit_status ]} это опечатка, в коде все правильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 ...надо высыпаться... проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Спойлер там, перед $data['header'] = $this->load->controller('common/header'); добавляй if (isset($this->request->post['kredit_status'])) { $data['kredit_status'] = $this->request->post['kredit_status']; } elseif (!empty($product_info)) { $data['kredit_status'] = $product_info['kredit_status']; } else { $data['kredit_status'] = array(); } if (isset($this->request->post['kredit_ay'])) { $data['kredit_ay'] = $this->request->post['kredit_ay']; } elseif (!empty($product_info)) { $data['kredit_ay'] = $product_info['kredit_ay']; } else { $data['kredit_ay'] = array(); } if (isset($this->request->post['kredit_faiz'])) { $data['kredit_faiz'] = $this->request->post['kredit_faiz']; } elseif (!empty($product_info)) { $data['kredit_faiz'] = $product_info['kredit_faiz']; } else { $data['kredit_faiz'] = array(); } if (isset($this->request->post['kredit_min_ilkin'])) { $data['kredit_min_ilkin'] = $this->request->post['kredit_min_ilkin']; } elseif (!empty($product_info)) { $data['kredit_min_ilkin'] = $product_info['kredit_min_ilkin']; } else { $data['kredit_min_ilkin'] = array(); } в шаблоне - просто {{ kredit_status }} {{ kredit_ay }} {{ kredit_faiz }} {{ kredit_min_ilkin }} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis нашел решение. Как и предполагал, проблема была в контроллере, не туда вписал код. Этот код массива $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); не нужно было просто в edit функцию вписать. Нужно было в функцию getForm() вписать, так как функция edit() возвращал функцию getForm. Вставил и без FOR цикла все вывелось. Отдельное и большое спасибо, за то что хотели помочь и помогли. Тему можно закрыть. Спасибо Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis 2 минуты назад, afwollis сказал: проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Нашли вместе, но вы лучше, так как у вас нету моих кодов под рукой) Спасибо большое) Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Кроме всего, мне показалось, что у тебя эти данные из другой таблицы выбираются (типа, как атрибуты). Поэтому лучше возьми мой код, так как нет смысла гонять лишние запросы для получения данных из таблицы product, ибо они все и так уже есть в "$product_info" if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Да и с точки зрения кода opencart этот вариант правильный. Успехов в дальнейшем освоении. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання [Решено] Не выводится переменные по циклу for Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis в моделе, можете увидеть что я возвращаю ($query->rows). Проблема в том что, вообще не работает, даже 1 строку не возвращает. в Цикл for не заходит, думаю массив в контроллере не там вставляю, не знаю куда вставить, что бы правильно выводил все данные. var _dump работает и все правильно показывает, но при выводе в for, не работает Надіслати Поділитися на інших сайтах More sharing options...
afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 @Orkh3ll0 , менял в модели $query->rows на $query->row? Что получил? Не менял? МЕНЯЙ. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis все оставил как есть и в моделе в функции поменял $query->rows на $query->row , но все одно и тоже, не заходит в цикл FOR, но var_dump($data['kreditdata']) все правильно выводит. Вот пример: "array(5) { ["product_id"]=> string(2) "60" ["kredit_status"]=> string(1) "1" ["kredit_ay"]=> string(2) "18" ["kredit_faiz"]=> string(5) "5.000" ["kredit_min_ilkin"]=> string(6) "99.000" }" public function getKreditdata($product_id) { $query = $this->db->query("select product_id,kredit_status, kredit_ay, kredit_faiz, kredit_min_ilkin from " . DB_PREFIX . "product where product_id = '".$product_id."' "); return $query->row; } Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. - - - не досмотрел в первом сообщении: квадратная скобка в конце вместо фигурной - опечатка тут или прям в коде? {{ kredata.kredit_status ]} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis Сделал как вы сказали 6 минут назад, afwollis сказал: теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. Сделал, ничего не вывелось. Я новенький, но мне кажется только в цикле можно такое вывести {{ kreditdata.kredit_status }}, а если было бы просто {{ kredit_status }}, то вывелось бы, я прав? 6 минут назад, afwollis сказал: {{ kredata.kredit_status ]} это опечатка, в коде все правильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 ...надо высыпаться... проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Спойлер там, перед $data['header'] = $this->load->controller('common/header'); добавляй if (isset($this->request->post['kredit_status'])) { $data['kredit_status'] = $this->request->post['kredit_status']; } elseif (!empty($product_info)) { $data['kredit_status'] = $product_info['kredit_status']; } else { $data['kredit_status'] = array(); } if (isset($this->request->post['kredit_ay'])) { $data['kredit_ay'] = $this->request->post['kredit_ay']; } elseif (!empty($product_info)) { $data['kredit_ay'] = $product_info['kredit_ay']; } else { $data['kredit_ay'] = array(); } if (isset($this->request->post['kredit_faiz'])) { $data['kredit_faiz'] = $this->request->post['kredit_faiz']; } elseif (!empty($product_info)) { $data['kredit_faiz'] = $product_info['kredit_faiz']; } else { $data['kredit_faiz'] = array(); } if (isset($this->request->post['kredit_min_ilkin'])) { $data['kredit_min_ilkin'] = $this->request->post['kredit_min_ilkin']; } elseif (!empty($product_info)) { $data['kredit_min_ilkin'] = $product_info['kredit_min_ilkin']; } else { $data['kredit_min_ilkin'] = array(); } в шаблоне - просто {{ kredit_status }} {{ kredit_ay }} {{ kredit_faiz }} {{ kredit_min_ilkin }} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis нашел решение. Как и предполагал, проблема была в контроллере, не туда вписал код. Этот код массива $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); не нужно было просто в edit функцию вписать. Нужно было в функцию getForm() вписать, так как функция edit() возвращал функцию getForm. Вставил и без FOR цикла все вывелось. Отдельное и большое спасибо, за то что хотели помочь и помогли. Тему можно закрыть. Спасибо Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis 2 минуты назад, afwollis сказал: проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Нашли вместе, но вы лучше, так как у вас нету моих кодов под рукой) Спасибо большое) Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Кроме всего, мне показалось, что у тебя эти данные из другой таблицы выбираются (типа, как атрибуты). Поэтому лучше возьми мой код, так как нет смысла гонять лишние запросы для получения данных из таблицы product, ибо они все и так уже есть в "$product_info" if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Да и с точки зрения кода opencart этот вариант правильный. Успехов в дальнейшем освоении. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання [Решено] Не выводится переменные по циклу for Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis все оставил как есть и в моделе в функции поменял $query->rows на $query->row , но все одно и тоже, не заходит в цикл FOR, но var_dump($data['kreditdata']) все правильно выводит. Вот пример: "array(5) { ["product_id"]=> string(2) "60" ["kredit_status"]=> string(1) "1" ["kredit_ay"]=> string(2) "18" ["kredit_faiz"]=> string(5) "5.000" ["kredit_min_ilkin"]=> string(6) "99.000" }" public function getKreditdata($product_id) { $query = $this->db->query("select product_id,kredit_status, kredit_ay, kredit_faiz, kredit_min_ilkin from " . DB_PREFIX . "product where product_id = '".$product_id."' "); return $query->row; } Надіслати Поділитися на інших сайтах More sharing options...
afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. - - - не досмотрел в первом сообщении: квадратная скобка в конце вместо фигурной - опечатка тут или прям в коде? {{ kredata.kredit_status ]} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis Сделал как вы сказали 6 минут назад, afwollis сказал: теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. Сделал, ничего не вывелось. Я новенький, но мне кажется только в цикле можно такое вывести {{ kreditdata.kredit_status }}, а если было бы просто {{ kredit_status }}, то вывелось бы, я прав? 6 минут назад, afwollis сказал: {{ kredata.kredit_status ]} это опечатка, в коде все правильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 ...надо высыпаться... проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Спойлер там, перед $data['header'] = $this->load->controller('common/header'); добавляй if (isset($this->request->post['kredit_status'])) { $data['kredit_status'] = $this->request->post['kredit_status']; } elseif (!empty($product_info)) { $data['kredit_status'] = $product_info['kredit_status']; } else { $data['kredit_status'] = array(); } if (isset($this->request->post['kredit_ay'])) { $data['kredit_ay'] = $this->request->post['kredit_ay']; } elseif (!empty($product_info)) { $data['kredit_ay'] = $product_info['kredit_ay']; } else { $data['kredit_ay'] = array(); } if (isset($this->request->post['kredit_faiz'])) { $data['kredit_faiz'] = $this->request->post['kredit_faiz']; } elseif (!empty($product_info)) { $data['kredit_faiz'] = $product_info['kredit_faiz']; } else { $data['kredit_faiz'] = array(); } if (isset($this->request->post['kredit_min_ilkin'])) { $data['kredit_min_ilkin'] = $this->request->post['kredit_min_ilkin']; } elseif (!empty($product_info)) { $data['kredit_min_ilkin'] = $product_info['kredit_min_ilkin']; } else { $data['kredit_min_ilkin'] = array(); } в шаблоне - просто {{ kredit_status }} {{ kredit_ay }} {{ kredit_faiz }} {{ kredit_min_ilkin }} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis нашел решение. Как и предполагал, проблема была в контроллере, не туда вписал код. Этот код массива $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); не нужно было просто в edit функцию вписать. Нужно было в функцию getForm() вписать, так как функция edit() возвращал функцию getForm. Вставил и без FOR цикла все вывелось. Отдельное и большое спасибо, за то что хотели помочь и помогли. Тему можно закрыть. Спасибо Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis 2 минуты назад, afwollis сказал: проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Нашли вместе, но вы лучше, так как у вас нету моих кодов под рукой) Спасибо большое) Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Кроме всего, мне показалось, что у тебя эти данные из другой таблицы выбираются (типа, как атрибуты). Поэтому лучше возьми мой код, так как нет смысла гонять лишние запросы для получения данных из таблицы product, ибо они все и так уже есть в "$product_info" if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Да и с точки зрения кода opencart этот вариант правильный. Успехов в дальнейшем освоении. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання [Решено] Не выводится переменные по циклу for
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis Сделал как вы сказали 6 минут назад, afwollis сказал: теперь выводи просто так {{ kreditdata.kredit_status }} без цикла. Сделал, ничего не вывелось. Я новенький, но мне кажется только в цикле можно такое вывести {{ kreditdata.kredit_status }}, а если было бы просто {{ kredit_status }}, то вывелось бы, я прав? 6 минут назад, afwollis сказал: {{ kredata.kredit_status ]} это опечатка, в коде все правильно Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options...
afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 ...надо высыпаться... проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Спойлер там, перед $data['header'] = $this->load->controller('common/header'); добавляй if (isset($this->request->post['kredit_status'])) { $data['kredit_status'] = $this->request->post['kredit_status']; } elseif (!empty($product_info)) { $data['kredit_status'] = $product_info['kredit_status']; } else { $data['kredit_status'] = array(); } if (isset($this->request->post['kredit_ay'])) { $data['kredit_ay'] = $this->request->post['kredit_ay']; } elseif (!empty($product_info)) { $data['kredit_ay'] = $product_info['kredit_ay']; } else { $data['kredit_ay'] = array(); } if (isset($this->request->post['kredit_faiz'])) { $data['kredit_faiz'] = $this->request->post['kredit_faiz']; } elseif (!empty($product_info)) { $data['kredit_faiz'] = $product_info['kredit_faiz']; } else { $data['kredit_faiz'] = array(); } if (isset($this->request->post['kredit_min_ilkin'])) { $data['kredit_min_ilkin'] = $this->request->post['kredit_min_ilkin']; } elseif (!empty($product_info)) { $data['kredit_min_ilkin'] = $product_info['kredit_min_ilkin']; } else { $data['kredit_min_ilkin'] = array(); } в шаблоне - просто {{ kredit_status }} {{ kredit_ay }} {{ kredit_faiz }} {{ kredit_min_ilkin }} Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis нашел решение. Как и предполагал, проблема была в контроллере, не туда вписал код. Этот код массива $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); не нужно было просто в edit функцию вписать. Нужно было в функцию getForm() вписать, так как функция edit() возвращал функцию getForm. Вставил и без FOR цикла все вывелось. Отдельное и большое спасибо, за то что хотели помочь и помогли. Тему можно закрыть. Спасибо Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis 2 минуты назад, afwollis сказал: проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Нашли вместе, но вы лучше, так как у вас нету моих кодов под рукой) Спасибо большое) Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Кроме всего, мне показалось, что у тебя эти данные из другой таблицы выбираются (типа, как атрибуты). Поэтому лучше возьми мой код, так как нет смысла гонять лишние запросы для получения данных из таблицы product, ибо они все и так уже есть в "$product_info" if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Да и с точки зрения кода opencart этот вариант правильный. Успехов в дальнейшем освоении. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis нашел решение. Как и предполагал, проблема была в контроллере, не туда вписал код. Этот код массива $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); не нужно было просто в edit функцию вписать. Нужно было в функцию getForm() вписать, так как функция edit() возвращал функцию getForm. Вставил и без FOR цикла все вывелось. Отдельное и большое спасибо, за то что хотели помочь и помогли. Тему можно закрыть. Спасибо Надіслати Поділитися на інших сайтах More sharing options...
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 (змінено) @afwollis 2 минуты назад, afwollis сказал: проблема у тебя там, где ты предполагал. edit() - лишь обработка отправки данных из формы. сама форма и данные собираются в getForm(). Нашли вместе, но вы лучше, так как у вас нету моих кодов под рукой) Спасибо большое) Змінено 14 червня 2018 користувачем Orkh3ll0 Надіслати Поділитися на інших сайтах More sharing options...
afwollis Опубліковано: 14 червня 2018 Share Опубліковано: 14 червня 2018 Кроме всего, мне показалось, что у тебя эти данные из другой таблицы выбираются (типа, как атрибуты). Поэтому лучше возьми мой код, так как нет смысла гонять лишние запросы для получения данных из таблицы product, ибо они все и так уже есть в "$product_info" if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Да и с точки зрения кода opencart этот вариант правильный. Успехов в дальнейшем освоении. Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Orkh3ll0 Опубліковано: 14 червня 2018 Автор Share Опубліковано: 14 червня 2018 @afwollis 16 минут назад, afwollis сказал: if (isset($this->request->get['product_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']); } Вы правы сделал что и посоветовали. Убрал остальные и добавил код то что снизу и все работает. Спасибо if (isset($this->request->post['kreditdata'])) { $data['kreditdata'] = $this->request->post['kreditdata']; } elseif (isset($this->request->get['product_id'])) { $data['kreditdata'] = $this->model_catalog_product->getKreditdata($this->request->get['product_id']); } else { $data['kreditdata'] = array(); } Надіслати Поділитися на інших сайтах More sharing options...
lexxkrt Опубліковано: 15 червня 2018 Share Опубліковано: 15 червня 2018 (змінено) дыру безопасности в запросе в модели исправьте. кто знает что будет передано в get/post строке переменной product_id. в запросе приведение типов сделайте до int. и не забывайте это делать в каждом запросе, либо (int)$product_id, либо $this->db->escape($product_id), никогда не доверяйте полученным данным. Змінено 15 червня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options...
Orkh3ll0 Опубліковано: 15 червня 2018 Автор Share Опубліковано: 15 червня 2018 @lexxkrt спасибо большое, учел!) Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts