Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

OpenCart не выполняет скрипт


Recommended Posts

Есть скрипт, который на локальной машине работает корректно, но при установке его на сервер в файл product.tpl (cms OpenCart 2.3.0.2, theme Next Default 3)ничего не происходит. Скрипт берет цену из таблицы с учетом id товара. Ошибок код никаких не выводит. Спасибо за помощь.

  <?php
    $host = 'хост';
    $db   = 'имя бд';
    $user = 'юзер нейм';
    $pass = 'пароль';
    $charset = 'utf8';

    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $opt = [
      PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
      PDO::ATTR_EMULATE_PREPARES   => false,
    ];
    $pdo = new PDO($dsn, $user, $pass, $opt);

    $stmt = $pdo->prepare('SELECT price FROM oc_product WHERE product_id = ?');
    $stmt->execute([$_GET['id']]);
     foreach ($stmt as $row)
     {
      echo 'price '.$row['price'] . "\n";
     }
  ?>

 

Link to post
Share on other sites

если вы пишете какую-то жуть, то причем тут opencart вообще?

Link to post
Share on other sites
1 час назад, nikifalex сказал:

если вы пишете какую-то жуть, то причем тут opencart вообще?

можно ли более аргументированно? Кстати, ошибку нашел, $_GET['id']- ничего не вызывал. 

$_GET['product_id']- нужно было так
Link to post
Share on other sites

13 минут назад, WebDevYV сказал:

можно ли более аргументированно? Кстати, ошибку нашел, $_GET['id']- ничего не вызывал. 


$_GET['product_id']- нужно было так

На stackoverflow подсказали? У Вас какая конечная цель, задача какая, а то получается не очень элегантное решение.

Link to post
Share on other sites

44 минуты назад, agefremov сказал:

На stackoverflow подсказали? У Вас какая конечная цель, задача какая, а то получается не очень элегантное решение.

Все верно, на нем. Задача была изначальная взять цену из "price" при входе на товар. Но задача уже изменилась и выполнена(подгрузка цен в калькулятор). Если у вас есть более лаконичное решение, буду рад посмотреть. Спасибо за внимание.

Link to post
Share on other sites

подскажите сайтик, надо ломануть базу для того чтоб не повадно было так делать

 

 

Link to post
Share on other sites

Фигня - пишите все в шаблон, зачем вам встроенные методы опенкарта?

 

Покажите советчиков со stackoverflow

Link to post
Share on other sites
11 минут назад, Otvet сказал:

подскажите сайтик, надо ломануть базу для того чтоб не повадно было так делать

 

 

Проще сказать "не падай", чем дать руку? Я только начинаю( очень начинаю, это первое, что написано на php/sql), можно сказать где здесь пробоина, а лучше дать совет, как не нужно, чтобы не повадно было?

Link to post
Share on other sites

Так вы не с того начали..
Вам уже надо лезть напрямую в базу!!!
Это вы быстро усваиваете.
А копнуть глубже, изучить подобный код?

Link to post
Share on other sites
Только что, chukcha сказал:

Так вы не с того начали..
Вам уже надо лезть напрямую в базу!!!
Это вы быстро усваиваете.
А копнуть глубже, изучить подобный код?

Разумеется все будет изучено в должном уровне, просто сейчас возникла острая необходимость в написании конкретно такого запроса/программы. Сначала был написан код по устаревшей методике(не знаю, почему не обратьил внимание на предупреждение об отсутствии тех функций в php7), потом вот переписал в PDO. Сейчас перемещу подключение к хосту в отдельный файл. Из безопасных соображений пока ничего не приходит в голову( от отсутствия опыта). Если вы серьезно про советников на стак, то могу дать. 

Link to post
Share on other sites

Конечно серьезно дайте советчиков, не поленюсь наконец-то зарегистрироваться.
1. опенкарт не сильно заточен по PDO

 

Конечно можно, но есть нюансы.

 

потому что , изучаем понятие SQL инъекций

Link to post
Share on other sites
8 минут назад, chukcha сказал:

Конечно серьезно дайте советчиков, не поленюсь наконец-то зарегистрироваться.
1. опенкарт не сильно заточен по PDO

 

Конечно можно, но есть нюансы.

 

потому что , изучаем понятие SQL инъекций

https://ru.stackoverflow.com/questions/730822/opencart-не-выполняет-скрипт вот ссылка на вопрос. Но в чем проблема, честно говоря, до конца не понимаю, потому что вопрос был решен. А момент безопасности, думаю отдельная, большая тема. 

Link to post
Share on other sites

Секундочку...

1 час назад, WebDevYV сказал:

Все верно, на нем.

Вы изначально задали вопрос по конкретному скрипту, без привязки к системе..
 

Link to post
Share on other sites
8 минут назад, chukcha сказал:

Секундочку...

Вы изначально задали вопрос по конкретному скрипту, без привязки к системе..
 

"но при установке его на сервер в файл product.tpl (cms OpenCart 2.3.0.2, theme Next Default 3)"

Не понимаю с чего Вы так решили. Да и какая разница? Разве вывод из OC отличается от любого другого? 

Link to post
Share on other sites

Да! НЕ лезь напрямую, используй встроенный функционал

Link to post
Share on other sites
36 минут назад, chukcha сказал:

Да! НЕ лезь напрямую, используй встроенный функционал

такое возможно сделать из коробки? о_О

Link to post
Share on other sites

Не совсем понял.. Какое?

 

$product_info = $this->model_catalog_product->gatProduct($this->request->get['product_id'];

$price = $product_info['price']

 

Разницу видите?

 

Где подключение к базе?

Где возможная SQL инъекция?

Где в конце, концов sql-клиент?

Link to post
Share on other sites

Я может не до конца понимаю что хочет ТС, но цена в шаблоне выводится в 11 напечатанных символов

echo $price;

 

Link to post
Share on other sites

Я так понимаю, что ТС нужна цена неотформатированная цена

Link to post
Share on other sites
12 часов назад, chukcha сказал:

$product_info = $this->model_catalog_product->gatProduct($this->request->get['product_id'];

$price = $product_info['price']

Разница существенна, но данный код не работает(

$product_info = $this->model_catalog_product->getProduct($this->request->get['product_id')];

$price = $product_info['price']

)

Выводит Fatal error: Using $this when not in object context in C:\OSPanel\domains\testsql\sql-test.php on line 47

Где 47 строка- объявление $product_info.

По поводу того что было нужно: вывод цены из столбца price, то есть здесь вы были правы.

3 часа назад, chukcha сказал:

Я так понимаю, что ТС нужна цена неотформатированная цена

 

Сейчас были добавлены 6 столбцов по той же схеме price_1, price_2, price_n, куда будут вноситься цены(шесть, потому что цены будут варьироваться в зависимости от количества дней ). Задача не изменилась, вывод работает, но по условию кода в первом вопросе, который не безопасен. Буду копать, как обращаться к БД OpenCart базовыми средствами. 

Link to post
Share on other sites

ну не подключил я еще модель.. И что..

 

Не важно!!!
Вы не стой стороны подходите, вы пытаетесь получить данные в шаблоне,а их нужно получать в контроллере

Link to post
Share on other sites

если не путаю запрос идет select * поэтому чуть поправить модель и все данные уже будут в массиве, не нужен отдельный запрос

 

Link to post
Share on other sites
9 часов назад, WebDevYV сказал:

Буду копать, как обращаться к БД OpenCart базовыми средствами. 

 

начните с этого

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By Rassol2
      1960
      Скачать/Купить дополнение


      SimplePars - Универсальный парсер для ИМ
      Модуль SimplePars предназначен для парсинга и наполнения интернет магазина. 
      Идея модуля заключается в том что бы вы могли заварить чашечку кофе и наблюдать как ваш магазин наполняется товарами.
      Ведь намного приятнее наблюдать за строкой загрузки товара, чем заполнять каждую позицию вручную

       
      Возможности модуля SimplePars
      Основные задачи которые решает модуль это парсинг данных с сайта и последующее заполнение или обновление товаров в интернет магазине.
      Вы можете как парсить напрямую в интернет магазин, так и парсить в Excel таблицу для дальнейшей обработки. 
      В двух словах не описать что умеет делать модуль, по этому обозначу только основные моменты.

      - Полноценный парсер позволяющий парсить сайты и наполнять магазин товарами.
      - Кроме загрузки возможно настройка обновления существующих товаров, цен, остатков и других элементов товара.
      - Автоматическое создание категорий, производителей, атрибутов, опций, загрузка изображений и многое другое....
      - Встроенный гибкий сборщик ссылок , который поможет собрать ссылки на необходимые товары.
      - Возможно идентификация товара по разным значениям, подробнее об всех идентификаторах вы можете узнать здесь - Идентификаторы
      - Доступна установка наценок любой сложности.
      - Парсинг / Составление SEO шаблонов и заполнение Мета данных товара, категорий, производителей. Заполнение SEO_URL
      - Формировать прайс csv с данными что вы парсите. Так же прайсы можно составлять в готовом формате для загрузки через АОП или любого другого загрузчика прайс листов. 
      - Поиск замена, мощный инструмент позволяющий вам налету изменять информацию. То есть вы можете изменять информацию которую вы парсите на лету.
      - Поиск замена полностью поддерживает регулярные выражения.
      - Модуль способен парсить в многопоточном режиме. Что делает парсинг максимально быстрым!
      - Возможность настроить запросы для обхода блокировок со стороны донора.
      - Поддержка работы с прокси.
      - Собственный прокси чекер, позволяющий отобрать прокси сервера которые будут работать с конкретным донором.
      - Возможна индивидуальная настройка запросов, Указание Cookies, User-Agent, Отправка собственных заголовков Headers
      - Система логирования позволяющая контролировать процесс парсинга на любом этапе.
      - Система кэширования сайта донора для безопасного парсинга.
      - Встроенный редактор ссылок, позволяющий группировать ссылки по спискам, и производить загрузку определенных групп ссылок. Так же отслеживать ссылки которые парсятся с ошибками.
      - NEW Автоматический парсинг по расписанию, при помощи CRON
      - NEW Встроенный редактор товаров. Редактор товаров поможет сделать финальную правку товаров. Инструкция к редактору товаров
      - NEW Парсер XML/YML документов от поставщика.
      - NEW Парсинг с автоматической авторизацией на сайте доноре. Инструкция по авторизации
      - NEW Парсинг сайтов с изображениями в формате WEBP !!!! Подробнее
      - NEW Расширение возможностей парсера собственными PHP скриптами Подробнее!!!
       
      Вы можете указать любое количество границ парсинга, на любые данные что есть в html коде сайта донора.
      SimplePars это универсальный инструмент который поможет вам наполнить ваш интернет магазин.
      Обратите внимание что вы можете настроить парсинг на любые данные, и необязательно они должны быть совместимы с opencart. Вы можете парсить статьи, отзывы, блоги.
       
      SimplePars адаптирован под работ с модулями.
      HYPER PRODUCT MODELS - NEW
      AJAX замена товара по моделям - HYPER PRODUCT MODELS - OC 2
      AJAX замена товара по моделям - HYPER PRODUCT MODELS - OC 3
      HYPER MULTI PRODUCT MODELS - NEW
      HYPER MULTI PRODUCT MODELS - AJAX Мульти замена товара по моделям - OC 2
      HYPER MULTI PRODUCT MODELS - AJAX Мульти замена товара по моделям - OC 3
      Цены в опция.
      Обновление цены при выборе опции, без AJAX - HYPER Dynamic price of options - OC 2
      Обновление цены при выборе опции, без AJAX - HYPER Dynamic price of options - OC 3
      Изображение в опциях.
      Опции с вводом количества, артикулом и изображением OC 2
      Опции с вводом количества, артикулом и изображением OC 3
      Изображения опций PRO
      Закупочная цена товара.
      CostPrice - закупочная цена товаров в opencart
       
      И это малая часть тех задач которые может выполнить данный модуль.
      SimplePars разрабатывается как универсальный парсер, у него нету четких задач, у него есть только набор инструментов.
      А что вы построите имея эти инструменты зависит только от вас.
       
      Полная инструкция к модулю доступна по ссылке
      Инструкция к модулю SimplePars
       
      Видео-уроки по работе с модулем доступны по ссылке
      Видео уроки по работе с модулем SimplePars
       
      Демо сайт для ознакомления с интерфейсом и возможностями модуля
      Обратите внимание что на демо сайте парсинг недоступен.
      http://demo.simplepars.top/admin/
      Логин - demo
      Пароль - demo
       
      Лицензионное соглашение.
      Ознакомится
       
      Инструкция по установке.
      Установка SimplePars
      1. Зайдите в директорию вашей версии модуля и скопируйте все в корень сайта с заменой.
      2. Введите в строке браузера ваш_сайт/inst.php и нажмите Enter.
      3. Далее перейдите в раздел Система->Пользователи->Группы пользователей->Администратор нажмите выделить все в двух разделах:
      Разрешить просмотр Разрешить редактировать Затем нажмите сохранить.
      4. Зайдите в "Модификаторы" или "Менеджер дополнений", и нажмите Обновить. 
      5. После этого удалите в корне сайта файл inst.php
      Все, модуль установлен.
      В разделе Каталог под пунктом Производители появится пункт SimplePars это вход в модуль. 
       
      Инструкция по обновлению
      1. Загрузить содержимое директории c названием вашей версии  в корень сайта.
      2. Выполнить ваш_сайт/inst.php
      3. Удалить с корня сайта файл inst.php
       
      После установки или обновления я вижу белый экран или ошибку 500
      Если видите белый экран, то вам необходимо перейти в архив с модулем в директорию Other versions of PHP и там будут лежать файлы под все версии php.
      Открываете папку с именем вашей версии php и загружаете содержимое в корень магазина.
      Добавил Rassol2 Добавлено 28.10.2018 Категория Парсеры Системные требования PHP >= 5.6 Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3.0.2.4
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Да  
    • By avot
      Скачать/Купить дополнение Последнее редактирование товара
      Последнее редактирование товара v1.0.0
      ocStore v1.5.1.3 + vQmod v2.1.6
      Также проверено на ocStore v1.5.3.1
      Модуль на основе vQmod, поэтому в оригинальные файлы ocStore изменения не вносятся.
      При необходимости могу сделать обычную версию.
      Модуль добавляет в Панель управления в каталог товаров две дополнительные колонки:
      — дата последнего редактирования товара;
      — имя пользователя, который последний раз редактировал товар.
      Имеется возможность сортировки по дате последнего редактирования и имени пользователя.
      Товары, измененные в течение последней недели, подсвечиваются цветом.
      Демо: http://guache.ru/admin/
      Логин: demo
      Пароль: demo
      На все вопросы по модулю отвечу по yoyo.dima@gmail.com
      Добавил avot Добавлено 11.07.2012 Категория Модули  
    • By snastik
      Скачать/Купить дополнение Каталог Товаров
      Каталог товаров
      Модуль отображает в карточке товара список производителей и товаров из той же категории.
      Крайне положительно сказывается на юзабилити сайта и на SEO (ускоряется индексация и быстрый выход в топ по НЧ) оптимизации за счет перелинковки похожих товаров
      Наглядно можно увидеть в легендарном магазине Rozetka.com.ua
      В любом товаре http://rozetka.com.u...g669ea/p166103/
      В модуле для Ocstore добавлен вывод привью изображения товаров
      Смотрите Demo http://modulcatalog.oclabs.ru/macbook.
      При установке модуль не заменяет файлов и работает без VQMOD.
      Модуль кеширован и использует оптимизированный запрос (который не грузит базу).
      Внимание !!! работает только на Ocstore товары выбираются на основании главной категории.
      -----------------------------------------------------------------------------------
      Работает на всех сборках ! OpenCart, OcStore, MaxiStore
      -----------------------------------------------------------------------------------
      положительный отзыв
      Другие мои модули
      Добавил snastik Добавлено 03.04.2013 Категория Модули  
    • By snastik
      Популярные товары
      Скачать/Купить дополнение Модуль популярные товары является ничем иным как копией модуля рекомендуемые товары, функционал идентичен.
      основанием для создания модуля послужила необходимость вывести два блока Рекомендуемые и Популярные товары на одной странице.
      работает на всей линейке 1.5.х
      Добавил snastik Добавлено 11.08.2013 Категория Модули  
    • By Serg9988
      Скачать/Купить дополнение SmUnltimateTabsProduct
      SmUnltimateTabsProduct
      Протестировано на: ocstore 2.1.0.1
      opencart 2.1.0*
      Модуль позволяет добавить неограниценое количество кастомных Табов с произвольными товарами.
      Описание
      Позволяет указать название таба (потдержка мультиязычности) Позволяет добавить произвольные товары на любую вкладку Возможность добавлять неограниченое количество Табов Возможность добавлять неограниченое количество товаров в Табы Есть настройка лимита вывода товаров (общая для всех табов) Присутствует возможность настройки ширины и высоты изображения для товаров Установка
      Перед установкой!
      Важно!
      Сделайте бекап Базы данных и файлов сайта.
      При устанвке модуля никакие файлы перезаписаны не будутесли установка модуля происходит впервые.
      Установка
      Если используете не default тему , то перед копированием измените название папки, в архиве с модулем, catalog\view\theme\ "default" на название папки с вашим шаблоном. Скопируйте содержимое архива в корневую папку сайта. Выдайте права на использование модуля:
      Зайдите в административную часть сайта Система - Пользователи - Группы Пользователей  Установите модуль и настройте его:
      Заходим в административную часть сайта - Дополнения - Модули - "SM СуперТабы" жмем кнолпку с "+" напротив названия модуля
      После заходим в модуль нажав кнопку с иконкой карандаша для настройки и модуля и добавления товаров и табов Добавляем модуль на страицу:
      Заходим в административную часть сайта - Дизайн - Схемы - нажимаем кнопку с иконкой карандаша на против нужной нам страницы
      Добавляем модуль в нужную часть страницы login/pass - demo/demo
      Сопровождение info@sitemix.com.ua
      Сайт демо http://opencart2.myopencart.club/
      http://opencart2.myopencart.club/admin/index.php?route=module/ultimatetabs
      demo/demo
      Лицензия на модуль выдается по условию :
      1 покупка = 1 доменное имя.
      То есть - один раз купив, вы получаете право установки для работы модуля только на одном доменном имени, одном магазине![/i][/color]
      Покупая дополнение, Вы автоматически соглашаетесь со следующими положениями:
      1. Автор, в праве, отказать в сопровождении, если вы не приобретали модуль, а получили его любым другим способом.
      2. Если работа модуля не соответствует заявленной в описании, по причине:
      конфликтов с другими сторонними дополнениями (модулями);
      шаблон покупателя значительно отличается от базового шаблона системы ocStore / OpenCart;
      работа модуля нарушена после действий покупателя, которые случились при редактировании файлов дополнения (модуля);
      пользователь хочет изменить или доработать приобретённое дополнение (модуль);
      Техническая поддержка оказывается за отдельную плату!!!
      3. Покупатель, в праве, требовать бесплатную техническую поддержку со стороны автора, за исключения случаев описанных в пунктах с 1 по 2 включительно.
      4. Все запросы, обрабатываются в течение 48 часов с момента поступления.
      Для получения сопровождения и разрешения установки модуля на другой магазин напишите мне в личном сообщении!
      Действует скидка на 3 и последующие преобретенные модули моей разработки. Подробней пишите в личку. 
      Купить модуль, получить скидку можно так же на сайте http://myopencart.club/
      Вопросы, пожелания можно писать в форум или на почту support@myopencart.club
      Добавил Serg9988 Добавлено 07.07.2016 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика  
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.