Получаю ошибку: Fatal error: Call to a member function get() on a non-object in

12
S
На сайте с 27.01.2010
Offline
45
2791

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

<field name="mrh_pass1" type="text" size= "70" *label="ROBOKASSA_M_PASS"


description="ROBOKASSA_M_PASS" />

Пытаюсь пароль сменить чтоб он выводился с модуля а не просто паролем

В оригинале начинается скрипт с проверки пароля мерчанта:

$pass1 = "1234567890q"; я же пишу чтоб выводить его с параметров модуля

$pass1 = '<?php echo $mrh_pass1; ?>'; * но он не видит пароль, тоесть пароль не передается с параметров модуля

Как его правельно обьявить...

Если обьявляю так:


<?
$mrh_pass1 = $params->get('mrh_pass1');
// регистрационная информация (пароль #1)
// registration info (password #1)


$pass1 = '<?php echo $mrh_pass1; ?>';

Получаю ошибку:

Fatal error: Call to a member function get() on a non-object in
[code<? // регистрационная информация (пароль #1)
// registration info (password #1)
$pass1 = '<?php echo $mrh_pass1; ?>';
// чтение параметров
// read parameters
$out_summ = $_POST["OutSum"];
$inv_id = $_POST["InvId"];
$shp_art = $_POST["Shp_Art"];
$crc = $_POST["SignatureValue"];

$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$pass1:Shp_Art=$shp_art"));

// проверка корректности подписи
// check signature
if ($my_crc != $crc)
{
echo "bad sign\n";
exit();
}

echo "YES";
?>

ДП
На сайте с 23.11.2009
Offline
203
#1

У вас переменная $params не определена. Судя по всему в начале у вас какие-то инклюды должны быть, где ваш xml парсится. А вы сразу пытаетесь какие-то объекты использовать, хотя нигде их не проиницализировали.

S
На сайте с 27.01.2010
Offline
45
#2
Дикий пионер:
У вас переменная $params не определена. Судя по всему в начале у вас какие-то инклюды должны быть, где ваш xml парсится. А вы сразу пытаетесь какие-то объекты использовать, хотя нигде их не проиницализировали.

Ну как не проиницализировали...

Я же обьявил в начале скрипта параметры:

$mrh_pass2 = $params->get('mrh_pass2');

IL
На сайте с 20.04.2007
Offline
435
#3
shkiper:
Ну как не проиницализировали...
Я же обьявил в начале скрипта параметры:

Если "яСамВсёЗнаю", зачем спрашивать?

Это обращение к переменной $params. А где она "включается"? Ну т.е. откуда компьютер будет знать, что там лежит?

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
S
На сайте с 27.01.2010
Offline
45
#4
ivan-lev:
Если "яСамВсёЗнаю", зачем спрашивать?
Это обращение к переменной $params. А где она "включается"? Ну т.е. откуда компьютер будет знать, что там лежит?

Уважаемый вы что не выспались...

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

Mad_Man
На сайте с 10.11.2008
Offline
162
#5
shkiper:
$pass1 = '<?php echo $mrh_pass1; ?>';

Боги, какой адовый говногод.

shkiper:
Уважаемый вы что не выспались...

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

У вас не объявлена переменная $params.

S
На сайте с 27.01.2010
Offline
45
#6

Я то объявил параметры, другое дело что скрипт не видит их

<?


$mrh_pass2 = $params->get('mrh_pass2');



$mrh_pass2 = '<?php echo $mrh_pass2; ?>';


$out_summ = $_POST["OutSum"];
$inv_id = $_POST["InvId"];
$shp_art = $_POST["Shp_Art"];
$crc = $_POST["SignatureValue"];


$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$pass2:Shp_Art=$shp_art"));

// проверка корректности подписи
// check signature
if ($my_crc !=$crc)
{
echo "bad sign\n";
exit();
}

// признак успешно проведенной операции
echo "OK$inv_id\n";

?>


---------- Добавлено 23.12.2014 в 12:41 ----------

Mad_Man:
Боги, какой адовый говногод.




У вас не объявлена переменная $params.

Ну по всей видимости это из раздела само рекламы... Всунуть свой пятак и не чего толком не подсказать... Паря может и говнокод но зделай луче а потом лепи тут не понятные реплики.

IW
На сайте с 16.12.2014
Offline
73
#7
$mrh_pass2 = '<?php echo $mrh_pass2; ?>';

это что за магия?😮

SSD VPS скидка 25% по купону iwork https://cp.inferno.name/cart.php?gid=23 | надежный хостинг http://bit.ly/2Yiq93h
S
На сайте с 27.01.2010
Offline
45
#8

пароль с xml

lealhost
На сайте с 07.06.2014
Offline
136
#9

Если это полный код, то не вижу где объявлен сам объект класса, да и ошибка говорит, что такого объекта нет.

$mrh_pass1 = $params->get('mrh_pass1');

Здесь вы вызываете уже метод, до этого он должен быть объявлен:


$params = new ClassName();

Вместо ClassName название нужного класса.

Вам уже все давно рассказали в чем ошибка.

V2
На сайте с 21.06.2013
Offline
47
#10
i-work:
это что за магия?😮

Я вот тоже долго пытался понять что же в итоге должно получиться.

Видимо это очень сильное колдунство и мы до него еще не доросли.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий