PHP'&&'操作员问题或误解

时间:2014-10-11 18:59:32

标签: php codeigniter boolean isset

HY,

我正在开发一个基于PHP和CodeIgniter的小站点。我今天遇到了一种非常奇怪的行为。我有以下代码来检查字段是否填充:

$valid = isset ( $model->{$property} ) && !empty($model->{$property});
error_log ( $valid );

如果'$ model-> {property}'存在而非空,我希望'$ valid'为真。不幸的是,无论属性是否存在,我从'error_log()'函数得到以下输出,是否有值:

[Sat Oct 11 19:49:43 2014] [error] [client 192.168.2.68] , referer: http://192.168.2.248:8080/

有什么问题?有没有其他(更好的)方法来检查属性是否存在

1 个答案:

答案 0 :(得分:0)

抱歉愚蠢的问题:我错了。我通过AJAX发布的模型实际上不包含预期的字段。

我在JS代码中发现了这个问题。我尝试使用以下命令发布表单数据:

var formData = $(form).serialize();

$(form + " :input").attr("disabled", true);
$.ajax({
    type: 'POST',
    url: action,
    data: formData,
    dataType: "json",
    success: postSuccess,
    error: postFail
    });

我认为$(form).serialize()从表单中提取值,我可以禁用输入字段。不幸的是。我必须在 ajax调用之后禁用输入恶魔以正确传递值(.serialize()忽略禁用的字段)