gpt4 book ai didi

php bool 运算导致500错误

转载 作者:行者123 更新时间:2023-12-01 05:52:20 25 4
gpt4 key购买 nike

我正在使用 Codeigniter 框架

我在一个 Controller 中,代码如下:

if(isset($_POST['field']) && !empty($_POST['field']) && 
isset($_POST['field2']) && !empty($_POST['field2'])) {
if(isset($_POST['field3']) && !empty($_POST['field3']))
//whatever
else
//whatever
} else {//whatever}

上面的代码抛出500错误(我使用jquery将post数据发送到页面)

$.ajax({   
url: url,
type: "POST",
cache: false,
contentType: false,
processData: false,
data : form,
success: function(data){
console.log(data);
checkResults(data);
},
error: function(xhr, textStatus, error){
alert("Fail");
alert(textStatus);
alert(xhr);
alert(error);
}
});

jquery 工作正常,这就是它变得非常奇怪的地方

第一组验证(检查 field1 和 field2)按预期工作,但是检查 field3 变得很奇怪

这会引发 500 错误

 if(isset($_POST['field3']) && !empty($_POST['field3']))

这不是

 if(isset($_POST['field3']))

这不是

 if(isset($_POST['field3']) && empty($_POST['field3']))

这个确实

 if(isset($_POST['field3']) && (empty($_POST['field3']) == 0))

这个确实

 if(isset($_POST['field3']) && ($_POST['field3'] == ""))

我无法弄清楚,所有字段在 View 中都具有相同的格式:

<input type="text" id="<<ID>>" name="<<NAME>" value="" />

唯一不同的是 field3 是由 jquery 使用监听器传播的

一开始它是使用 jquery .hide() 隐藏的,然后是一个简单的监听器:

$("#fieldListener").change(function() {
if(this.value == "")
{
$("#field3-id").hide("slow");

$("#field3").removeClass("required");
$("#field3").val("");

} else {
$("#field3-id").show("slow");

$("#field3").addClass("required");
}

最佳答案

您不应该将 $_POST 与 codeigniter 一起使用。 http://ellislab.com/codeigniter/user-guide/libraries/input.html

如果您想了解更多信息,请阅读文档:)

关于php bool 运算导致500错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20230124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com