Перейти к содержимому


Внешний скрипт


Сообщений в теме: 38

#1 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 03 Март 2014 - 11:59

Хочу положить в кб самый просто скрипт, который делает инсерт в таблицу по определенному запросу, при этом мне не нужно проверять авторизацию и тд. Скрипт лежит в корне кб:

require_once "include/sql_functions.php";
require_once "include/functions1.php";
require_once "include/constants.php";
require_once "include/config.php";
require_once "include/mysql_connect.php";


if(isset($_POST['_data']) && count($_POST['_data']) > 0) {
    $_data = $_POST['_data'];

    //преобразуем дату от время необходимое для хранение в базе
    $_data['f2951'] = form_eng_time($_data['f2951']);
    $_data['f2941'] = form_eng_time($_data['f2941']);
    if(data_insert(171, EVENTS_ENABLE, $_data)) {
	    echo 'Done';
    }
}

Сначала положил вот так, в итоге:
SQL error.
Fatal error: Call to undefined function generate_error() in /home/buket/public_html/include/functions1.php on line 3491

Потом добавил
require_once "include/bm.errors.php";

В итоге:
SQL error.
Fatal error: Call to undefined function finish_performance_stat() in /home/buket/public_html/index_bottom.php on line 4

Пробовал просто подключить common.php, выдало ошибка подключения к бд.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Март 2014 - 12:45

require_once "include/config.php";
require_once "include/constants.php";
require_once "include/mysql_connect.php";
require_once "include/sql_functions.php";
function generate_error($str)
{
  die("$str");
}
// Далее ваш код

Так попробуйте.

#3 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 03 Март 2014 - 13:03

require_once "include/config.php";
require_once "include/constants.php";
require_once "include/mysql_connect.php";
require_once "include/sql_functions.php";
require_once "include/bm.errors.php";
require_once "include/functions1.php";
Вроде выводит done, но инсерт в таблице не вижу. Проверяю ее наличие сейчас.

Теперь другая проблема записи добавленные таким образом уходят в архив. Неужели я должен `status` устанавливать руками? И даже если я устанавливаю $_data['`status`] = 0. Запись все равно уходит в архив. Почему? Баг?

Сообщение отредактировал wondertalik: 03 Март 2014 - 13:39


#4 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 03 Март 2014 - 14:01

Просмотр сообщенияwondertalik (03 Март 2014 - 13:03) писал:

Теперь другая проблема записи добавленные таким образом уходят в архив. Неужели я должен `status` устанавливать руками? И даже если я устанавливаю $_data['`status`] = 0. Запись все равно уходит в архив. Почему? Баг?
У Вас ошибка или описка в $_data['`status`] = 0. Кавычки. Непонятно почему, но тоже столкнулся с такой проблемой. Пришлось заполнять status самостоятельно. Как данные отправляете? Вызов функции через ajax? Добавьте csrf в массив передаваемых данных.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#5 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 03 Март 2014 - 14:03

Просмотр сообщенияandibrag (03 Март 2014 - 14:01) писал:

У Вас ошибка или описка в $_data['`status`] = 0. Кавычки. Непонятно почему, но тоже столкнулся с такой проблемой. Пришлось заполнять status самостоятельно. Как данные отправляете? Вызов функции через ajax? Добавьте csrf в массив передаваемых данных.
Да это банальная опечатка. Прямой вызов скрипта. status я заполнял. итог тот же. Отписал в тп. Жду ответа.

#6 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 03 Март 2014 - 14:23

Просмотр сообщенияwondertalik (03 Март 2014 - 14:03) писал:

Да это банальная опечатка. Прямой вызов скрипта. status я заполнял. итог тот же. Отписал в тп. Жду ответа.
Значение csrf передаете? Без него возникает ошибка 500.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#7 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 03 Март 2014 - 14:33

Просмотр сообщенияandibrag (03 Март 2014 - 14:23) писал:

Значение csrf передаете? Без него возникает ошибка 500.
Ну во-первых, я не выяснял где и как он генерируется. А во-вторых, 500 не возникает. Предположу так как я не включаю common.php. Времени на проведение исследований нет сейчас. Опять же повторюсь, я не использую ajax. Банальная передача параметров на некий скрипт на сервере методом пост из внешнего сайта.

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 06 Март 2014 - 13:59

Повторите, в чем конкретно проблема у вас на данный момент (если она вообще есть). Меня техподдержка просит решить вашу заявку. В том, что записи, добавленные через data_insert, уходят в архив?

#9 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 06 Март 2014 - 14:01

Просмотр сообщенияCbCoder (06 Март 2014 - 13:59) писал:

Повторите, в чем конкретно проблема у вас на данный момент (если она вообще есть). Меня техподдержка просит решить вашу заявку. В том, что записи, добавленные через data_insert, уходят в архив?
Да все верно. Уходят в архив. Даже вот так все равно в архив

if(isset($_POST['_data']) && count($_POST['_data']) > 0) {
    $_data = $_POST['_data'];
    //заглушка, до выяснения на форуме http://clientbase.ru/forum/index.php?showtopic=5743
    $_data['status'] = 0;
    $_data['f4651'] = "POST";
    //преобразуем дату от время необходимое для хранение в базе
    $_data['f2951'] = form_eng_time($_data['f2951']);
    $_data['f2941'] = form_eng_time($_data['f2941']);
    if(data_insert(171, EVENTS_ENABLE, $_data)) {
	    echo 'Done';
    }
}

Сообщение отредактировал wondertalik: 06 Март 2014 - 14:06


#10 Testman

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 49 сообщений
  • Пол:Женщина
  • Город:Казань

Отправлено 07 Март 2014 - 10:40

Проблема исправлена в ревизии 11696

#11 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 07 Март 2014 - 10:53

Просмотр сообщенияTestman (07 Март 2014 - 10:40) писал:

Проблема исправлена в ревизии 11696
Да спасибо. Уже проверил.

#12 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 22 Октябрь 2014 - 09:21

Fatal error: Call to undefined function form_tips_line() in /home/wonder-bug/public_html/include/functions1.php on line 841


define('CLIENTBASE_DIR', dirname(__FILE__) . '/../../');

require_once CLIENTBASE_DIR."include/config.php";
require_once CLIENTBASE_DIR."include/constants.php";
require_once CLIENTBASE_DIR."include/mysql_connect.php";
require_once CLIENTBASE_DIR."include/sql_functions.php";
require_once CLIENTBASE_DIR."include/bm.errors.php";
require_once CLIENTBASE_DIR."include/functions1.php";
require_once CLIENTBASE_DIR."include/functions2.php";

Что нужно подключить чтобы избавится от этого?

Сообщение отредактировал wondertalik: 22 Октябрь 2014 - 09:32


#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Октябрь 2014 - 15:31

include/functions_cron.php

#14 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 26 Ноябрь 2014 - 09:30

Просмотр сообщенияCbCoder (03 Март 2014 - 12:45) писал:

require_once "include/config.php";
require_once "include/constants.php";
require_once "include/mysql_connect.php";
require_once "include/sql_functions.php";
function generate_error($str)
{
  die("$str");
}
// Далее ваш код

Так попробуйте.



Подключаюсь с локалки версии 2.0.3 из корня КБ, и на выдаче такой результат:

Warning: Invalid argument supplied for foreach() in C:\Program Files (x86)\MSTL\ClientBase\www\include\sql_functions.php on line 975
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files (x86)\MSTL\ClientBase\www\include\sql_functions.php on line 56
SQL error.
Warning: Invalid argument supplied for foreach() in C:\Program Files (x86)\MSTL\ClientBase\www\include\sql_functions.php on line 1048


Весь код:

require_once "include/config.php";
require_once "include/constants.php";
require_once "include/mysql_connect.php";
require_once "include/sql_functions.php";
function generate_error($str)
{
  die("$str");
}
//используете стандартные функции кб
$need_date = date(Y-m-d);
$nomer_zaprosa = str_replace(" ","",'2 000');
$result = data_update(271, EVENTS_EVENABLE, array('f11600'=>$need_date),'f11610="'.$nomer_zaprosa.'"');
if ($result == 'true')
  {
  echo "Данные успешно обновлены.";
  }
  else
  {
  echo "Данные не обновлены!";
  }


#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Ноябрь 2014 - 09:54

Эти файлы взаимосвязаны между собой, так просто подключить на данный момент уже не получится. Я поэтому и предлагал использовать нативные функции PHP, а не наши.

#16 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 26 Ноябрь 2014 - 10:53

Просмотр сообщенияCbCoder (26 Ноябрь 2014 - 09:54) писал:

Эти файлы взаимосвязаны между собой, так просто подключить на данный момент уже не получится. Я поэтому и предлагал использовать нативные функции PHP, а не наши.
Это касается только локальной?

#17 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Ноябрь 2014 - 11:41

Просмотр сообщенияwondertalik (26 Ноябрь 2014 - 10:53) писал:

Это касается только локальной?

Почему локальной? Код везде одинаковый.

Я не говорю что это невозможно, просто разбираться надо сидеть как правильно подключать, без common.php.

#18 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 26 Ноябрь 2014 - 13:22

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

#19 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 27 Ноябрь 2014 - 20:30

У меня так работает
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/config.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/mysql_connect.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions1.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions2.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/constants.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/sql_functions.php";
Далее Ваш код.
Пытался заменить всю эту шапку на
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/common.php";
- выдавало ошибку.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#20 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 28 Ноябрь 2014 - 01:52

Просмотр сообщенияandibrag (27 Ноябрь 2014 - 20:30) писал:

У меня так работает
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/config.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/mysql_connect.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions1.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions2.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/constants.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/sql_functions.php";
Далее Ваш код.
Пытался заменить всю эту шапку на
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/common.php";
- выдавало ошибку.
К сожалению, без common.php, будет работать только в том случае, если не генерировать события (или события не заданы)
"...Сижу, паяю. CRM починяю..."
Мои разработки





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных