Константы доли между PHP и JavaScript [дубликат]

Есть несколько возможных причин, по которым это может произойти, одну из которых проще всего пропустить - ваш логин SQL не имеет прав доступа к вашей БД.

Откройте SQL Management Studio и убедитесь, что у вас включено ведение журнала входа в систему (Server Properties -> Security -> Login auditing). По умолчанию он установлен на Failed only, вы можете изменить его на Both successful and failed, если хотите.

enter image description here

Затем попытайтесь войти в диспетчерскую и проверить журналы.

enter image description here

Скорее всего, вы увидите, что учетная запись пытается и не удается подключиться к БД. Дайте этой учетной записи достаточные привилегии и попробуйте снова.

12
задан 4 revs, 2 users 51% 23 May 2017 в 11:51
поделиться

3 ответа

Я использовал бы json_encode. Необходимо будет преобразовать класс в ассоциативный массив сначала.

$constants = array("RESOURCE_TYPE_REGISTER"=>2, "RESOURCE_TYPE_INFO"=>2);
echo json_encode($constants);

Вы могли также использовать отражение для преобразования класса в ассоциативный массив, если Вы предпочтете использовать класс.

function get_class_consts($class_name)
{
    $c = new ReflectionClass($class_name);
    return ($c->getConstants());
}

class Constants {
    const RESOURCE_TYPE_REGSITER = 2;
    const RESOURCE_TYPE_INFO = 1;
}

echo json_encode(get_class_consts("Constants"));
8
ответ дан 2 December 2019 в 23:08
поделиться

Единственным путем можно совместно использовать константы, должен иметь php сторону, сообщают JavaScript. Например:

echo "<script> var CONSTANT1 =".$constant_instance->CONSTANT_NAME.";</script>";

Или с помощью ajax, Вы могли также записать маленький сценарий, который возвратит константы как JSON/whatever.

-1
ответ дан 2 December 2019 в 23:08
поделиться

Определенный ужасный взлом, но здесь это идет:

constants.js

//<?php
$const1 = 42;
$const2 = "Hello";
//?>

constants.html (используют в JavaScript),

<script type="text/javascript" src="constants.js"></script>
<script type="text/javascript">document.write($const1);</script>

constants.php (используют в PHP),

<?php
ob_start(); // start buffering the "//"
require "constants.js";
ob_end_clean(); // discard the buffered "//"

echo $const1;
?>
-2
ответ дан 2 December 2019 в 23:08
поделиться
Другие вопросы по тегам:

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