Как внутри вставить php echo

Подскажите, как внутри <?if (!isset($_COOKIE[сюда надо вставить])){?> вставить вот такой код: <?php echo $this->href_to('karma_vote', $profile['id']); ?> Такая конструкция нужна для того, чтобы в $_COOKIE[] на каждой странце был уникальный код, который в другом месте этой страницы выводится с помощью <?php echo $this->href_to('karma_vote', $profile['id']); ?>. Если вставлять как есть - страница не открывается, ошибка 500. Наверное, решение на уровне азов PHP, но я как раз решил постигать их опытным путем и пока не могу сам найти рабочий способ.


Ответы (1 шт):

Автор решения: Condor

Задать значение для определенного параметра (ключа) в cookie можно следующим образом:

if (!isset($_COOKIE['karma_vote'])) {
  $karmaVote = $this->href_to('karma_vote', $profile['id']);

  setcookie('karma_vote', $karmaVote);
} else {
  echo $_COOKIE['karma_vote'];
}

karma_vote - это ключ (можно указать любое другое название), для которого вы записываете нужное значение и храните в cookie.

С помощью isset() проверяете, содержится ли в cookie значение для этого ключа.

Если там ничего нет, то получаете значение из вашего метода href_to() и записываете для karma_vote с помощью setcookie().

При необходимости, выстраиваете дополнительные параметры.

Если в $_COOKIE['karma_vote'] уже содержится какое-либо значение, то оно будет выведено на экран с помощью echo.

→ Ссылка