Задать вопрос
yarkov
@yarkov
Помог ответ? Отметь решением.

Почему не выполняется функция?

Имеем такой скрипт PHP, который отдает javascript:
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/core/config.php");
require_once(ABSPATH . "core/functions.php");

header("Content-type: application/javascript; charset=utf-8");

?>
<?php

// вот тут проблема.
// функция не выполняется
// нв выходе получаем строку is_auth = ;
// а должно быть true или false
echo "is_auth = ".is_auth().";\r\n";

?>
$(document).ready(function(){
	/*
	*	ОБРАБОТЧИКИ
	*/
	// еще куча кода
	// кстати PHP константы нормально выводятся в контексте js


Я полагаю, что это от того, что header("Content-type: application/javascript; charset=utf-8");
Я прав? Что делать?
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Решения вопроса 1
miraage
@miraage
Старый прогер
Всё верно. Посмотрите вывод команды "echo false;" - пустая строка.

php > echo "is_auth = " . false . ";\r\n";
is_auth = ;
php > echo "is_auth = " . json_encode(false) . ";\r\n";
is_auth = false;


EDIT

php.net/manual/en/language.types.string.php#langua...

A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы