$result = implode('*', $apiTemplatesSet1);
$result = preg_replace('~%id%~', $user['id'], $result);
$result = preg_replace('~%name%~', $user['name'], $result);
$result = preg_replace('~%role%~', $user['role'], $result);
$result = preg_replace('~%salary%~', $user['salary'], $result);
$result = explode('*', $result);
$short_url = "{$_SERVER['HTTP_HOST']}/r_{$sth['created_short_id']}";
в проверку, которая начинается ниже, ошибок ушла.
Trying to access array offset on value of type %s Notice Warning
Rationale: These diagnostics are generated when trying to use scalars as arrays. The first two occur in write contexts, the latter in read contexts. The latter was introduced in PHP 7.4 as a notice with express intention to elevate the severity in PHP 8.0. In line with the symmetrical case on objects, the write case is treated more severely here, as it usually implies data loss.
Судя по всему, в $sth у вас записано булево значение (предположительно, false)
Функция db_query к стандартным не относится, значит смотрите в своём коде, что она возвращает и почему.
function db_query(string $sql_query, array $params_execute = [])
{
$pdh = db_connect();
$sth = $pdh->prepare($sql_query);
$verifiedParams = [];
foreach ($params_execute as $placeholder => $item) {
if (is_int($item)) {
$sth->bindParam(count($params_execute), $placeholder, PDO::PARAM_INT);
$verifiedParams[] = $item;
} elseif (is_string($item)) {
$sth->bindParam(count($params_execute), $placeholder,PDO::PARAM_STR); //data_type: PDO::PARAM_STR (default)
$verifiedParams[] = $item;
}
}
try {
$sth->execute($verifiedParams);
} catch (PDOException $exception) {
echo 'Technical troubles in the site. Soon all fix.';
file_put_contents(__DIR__ . '/../../logs/Errors_system.txt',
date('Y-m-d H:i:s') . ' [db_query]: ' . $exception->getMessage() . PHP_EOL, FILE_APPEND);
}
return $sth;
}
$init = $_POST['external_url'] ?? null;
$preparedLink = prepareExternalLink($init);
$sth = db_query('SELECT external_url, created_short_id FROM result WHERE external_url=" . $preparedLink . "')->fetch();
И бургер рисовать не стоило в пэинте)) Можно span сделать и псевдоэлементы сверху, снизу и вот вам бургер)
Вы бы код в песочницу бы скинули.