post возвращает пустую переменную

192
03 мая 2018, 08:24

почему alert выдает 0, а php возвращает , что переменная не определена

<script>
    function action_but(code, ttl, pid){
        $("#new_window .head span").html(ttl);
        $("#new_window").removeClass('hidden');
        alert(pid);
        $.post("assets/get.php", { act: pid, id: code })
        .done(function(data) {
          alert("Data Loaded: " + data);
        });
    }
    $(".constructor .result_category .add").click(function(){
        var code = $(this).attr("data-id");
        var ttl = $(this).closest(".data_footer").find("h2").text();
        var pid = $(this).closest(".ln").find("input[type=hidden]").val();
        if (pid == '') pid = 0;
        action_but(code, ttl, pid);
        return false;
    });
</script>

php файл

<?php
if (empty($_POST['act'])) {exit();}
$action = $_POST['act'];
define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';
define("IN_PARSER_MODE", "true");
@include('config.core.php');
    if (!defined('MODX_CORE_PATH')) define('MODX_CORE_PATH', $_SEVER['DOCUMENT_ROOT'].'/core/');
if ($action == 0){
    echo $action;
}else{
    echo "poc";
}
Answer 1

В описании функции epmty есть следующее:

Переменная считается пустой, если она не существует или её значение равно FALSE.

Следующие значения воспринимаются как пустые:

  • "" (пустая строка)
  • 0 (целое число)
  • 0.0 (число с плавающей точкой)
  • "0" (строка)
  • NULL
  • FALSE
  • array() (пустой массив)

Так как передается 0 - функция считает, что значение empty.

Возможно стоит заменить проверку на: !isset($var)

READ ALSO
переход с MYSQL на PDO и взрыв мозга нужна помощь!

переход с MYSQL на PDO и взрыв мозга нужна помощь!

Всем приветПошел 6-й месяц, как я учусь делать сайты

251
Нужна помощь с кодом

Нужна помощь с кодом

Собственно сам кодНужно сделать его менее объемным, более грамотным

296
Символы в название файла на кириллице

Символы в название файла на кириллице

Доброе время суток! Имеется ошибка - символы в названии файла, после загрузки файла на сервер с английским названием оно отлично отображается,...

248
Безопасность запроса

Безопасность запроса

Можно ли назвать эти два варианта кода безопасными?

227