Php 无论查询结果如何,in_数组都会不断返回false
好的,我有一个有3个ip地址的数据库。当我运行以下代码时,即使表为空,仍然会运行相同的代码:Php 无论查询结果如何,in_数组都会不断返回false,php,Php,好的,我有一个有3个ip地址的数据库。当我运行以下代码时,即使表为空,仍然会运行相同的代码: $whitelistip = explode(",", $usercheck->ipwhitelist); 获取行模型: $whitelistip = explode(",", $usercheck->ipwhitelist); 以及用于检查用户ip地址是否在将使用逗号存储的行中的代码,如:1234323354。但是,当数据库具有相同的ip或行为空时,如果代码始终成功运行且无法通过,则会
$whitelistip = explode(",", $usercheck->ipwhitelist);
获取行模型:
$whitelistip = explode(",", $usercheck->ipwhitelist);
以及用于检查用户ip地址是否在将使用逗号存储的行中的代码,如:1234323354。但是,当数据库具有相同的ip或行为空时,如果代码始终成功运行且无法通过,则会出现以下情况:
$whitelistip = explode(",", $usercheck->ipwhitelist);
if(isset($whitelistip) && !in_array($_SERVER["REMOTE_ADDR"],$whitelistip)){
$date = date("F Y h:i:s");
$addlogin = $this->db->prepare("INSERT INTO logins(email,date,ip,status) VALUES(?,?,?,?)");
$addlogin->execute(array($email,$date,$_SERVER["REMOTE_ADDR"],'Unsuccessful login'));
echo '
<div class="row row-centered">
<div class="col-md-3"></div>
<div class="col-md-5">
<div class="alert alert-danger">
<strong>Oh snap!</strong> Your IP address is not on the whitelist for this account
</div>
</div>
</div>';
返回var_dumpin_array$_SERVER['REMOTE_ADDR'],$whitelistip;和var_dump$whitelistip;如果空$whitelistip&&is_数组$whitelistip&&isset$\u服务器[远程地址]/*奇怪的nginx设置?*/&!在_array$_SERVER[REMOTE_ADDR]中,$whitelistip,true!在\u数组中,这不应该在\u数组中吗?或者这个ifcount$whitelistip>0&&是\u数组$whitelistip&!在_数组$_SERVER[REMOTE_ADDR]中,$whitelistip{..}我保证第一个返回false。了解$\u SERVER['REMOTE\u ADDR']是什么也很有用。var_dump是你的朋友。