Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


WebDevYV
 Погделиться

Рекомендованные сообещёния

Есть скрипт, который на локальной машине рилииет корректно, но при усиновке его на сервер в файл 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";
     }
  ?>

 

Ссылка на комменирий
Погделиться на других сайих


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

Ссылка на комменирий
Погделиться на других сайих

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

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

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

$_GET['product_id']- нужно было ик
Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


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

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

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

Ссылка на комменирий
Погделиться на других сайих


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

 

 

Ссылка на комменирий
Погделиться на других сайих

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

 

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

Ссылка на комменирий
Погделиться на других сайих

11 минут назад, Otvet сказал:

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

 

 

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

Ссылка на комменирий
Погделиться на других сайих


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

Ссылка на комменирий
Погделиться на других сайих

Только что, chukcha сказал:

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

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

Ссылка на комменирий
Погделиться на других сайих


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

 

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

 

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

Ссылка на комменирий
Погделиться на других сайих

8 минут назад, chukcha сказал:

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

 

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

 

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

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

Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

Ссылка на комменирий
Погделиться на других сайих

8 минут назад, chukcha сказал:

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


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

Ссылка на комменирий
Погделиться на других сайих

36 минут назад, chukcha сказал:

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

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

Ссылка на комменирий
Погделиться на других сайих


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

 

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

$price = $product_info['price']

 

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

 

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

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

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

Ссылка на комменирий
Погделиться на других сайих

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

echo $price;

 

Ссылка на комменирий
Погделиться на других сайих

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

Ссылка на комменирий
Погделиться на других сайих

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 базовыми средствами. 

Ссылка на комменирий
Погделиться на других сайих


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

 

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

Ссылка на комменирий
Погделиться на других сайих

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

 

Ссылка на комменирий
Погделиться на других сайих

9 часов назад, WebDevYV сказал:

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

 

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

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.