Использование PHP 5.3.3 и Drupal 7.17 Я создал короткий пользовательский PHP-скрипт, в котором я бы назвал функцию Drupal - который, в свою очередь, ожидает, что объект, имеющий pass
свойство:Передача массива() вместо объекта дает: Попытка получить свойство не-объекта
function user_check_password($password, $account) {
if (substr($account->pass, 0, 2) == 'U$') {
$stored_hash = substr($account->pass, 1);
$password = md5($password);
}
.....
}
Так что в моем сценарии я пытаюсь создать такой объект «на лету»:
<?php
require_once('/path/to/drupal/includes/password.inc');
........
$sth = $db->prepare(SQL);
$sth->execute(array($username));
if ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
if (user_check_password($password, array('pass' => $row['pass']))) {
header('Content-Type: application/json; charset=utf-8');
print json_encode($row);
}
}
Однако это дает мне ошибку: Trying to get property of non-object
Что, вероятно, означает: PHP не принимает мой массив, он хочет там объект.
Как я могу создать анонимный объект «на лету», чтобы сделать его счастливым?
Изменения '$ счет Оsta.ee-> pass' в' $ счета [ «проход»] '. Это способ доступа к ключу массива. –
Плохое предложение, потому что я не хочу изменять файл 'include/password.inc' файла Drupal. Я просто хочу использовать эту функцию из моего маленького скрипта. –