Moodle API не может создавать пользователей с тегом HTML в описании

у меня есть длинная строка о студенте и нужно эту строку добавить в desc.

$core_external = new core_user_external();

$UserFields = array(
    'username' => $_GET['username'],
    'password' => $_GET['password'],
    'firstname' => $_GET['firstname'],
    'lastname' => $_GET['lastname'],
    'email' => $_GET['email'],
    'city' => $_GET['city'],
    'country' => $_GET['country'],
    'description' => $_GET['desc']
);

$usersids = $core_external->create_users(array($UserFields));

если я попытаюсь отправить ‘desc’ как "<br>sdfasdfasdf<br>"получить следующую ошибку

Недопустимый параметр внешнего api: значение равно"<br>sdfasdfasdf<br>", сервер ожидал тип «text»
Код ошибки: invalidparameter

как добавить HTML-теги в методы get или post?

2 ответа

  1. Вы никогда не должны использовать $_GET напрямую, он может ввести SQL-инъекцию.

    Вместо этого используйте один из них

    'description' => optional_param('desc', '', PARAM_TEXT);
    

    или

    'description' => required_param('desc', PARAM_TEXT);
    

    Используйте соответствующий параметр PARAM_XXX для каждого из параметров.

    Если вы посмотрите на core_user_external::create_users_parameters()него, то увидите, какие типы использовать для каждого параметра.