PHP字符串与===
我正在为我的网站制作一个登录脚本 它使用用户通行证等将PHP字符串与===,php,string,login,Php,String,Login,我正在为我的网站制作一个登录脚本 它使用用户通行证等将POST(使用curl)发送到另一台服务器。 如果信息错误,则返回错误登录 但是当我检查回复时,即使它是错误的,它也会说登录成功 if ($result === "Bad login"){ $password_status = 'Wrong password.'; $error = true; } 我也尝试过strcmp,但没有成功。是的,尝试var\u dump($result),因为它可能包含其他字符 也许可以试试: &
POST
(使用curl
)发送到另一台服务器。如果信息错误,则返回
错误登录
但是当我检查回复时,即使它是错误的,它也会说登录成功
if ($result === "Bad login"){
$password_status = 'Wrong password.';
$error = true;
}
我也尝试过strcmp,但没有成功。是的,尝试var\u dump($result),因为它可能包含其他字符
也许可以试试:
<?php
if (strpos(strtolower($result), 'bad login') !== false) {
$error = true;
}
是,请尝试var_dump($result),因为它可能包含其他字符
也许可以试试:
<?php
if (strpos(strtolower($result), 'bad login') !== false) {
$error = true;
}
$result的确切值是多少?你的完整if声明是什么
$result必须精确匹配,例如:
echo ('Bad login' === 'Bad login') ? 'True<br />' : 'False<br />'; // True
echo ('Bad login ' === 'Bad login') ? 'True<br />' : 'False<br />'; // False (Space after login)
echo ('Bad Login' === 'Bad login') ? 'True<br />' : 'False<br />'; // False (Capital L on login)
$result的确切值是多少?你的完整if声明是什么
$result必须精确匹配,例如:
echo ('Bad login' === 'Bad login') ? 'True<br />' : 'False<br />'; // True
echo ('Bad login ' === 'Bad login') ? 'True<br />' : 'False<br />'; // False (Space after login)
echo ('Bad Login' === 'Bad login') ? 'True<br />' : 'False<br />'; // False (Capital L on login)
什么是$result
?它是从哪里来的?你说回复总是成功的,但是如果if语句
,你就漏掉了这一部分。另外,我认为您不需要在这里进行严格的比较(==
)。@zerkms:这是来自使用curl的POST请求的回复,什么是$result
?它是从哪里来的?你说回复总是成功的,但是如果if语句
,你就漏掉了这一部分。此外,我认为您不需要在这里进行严格的比较(=
)。@zerkms:这是来自使用curl@PeeHaa当前位置这是对他的问题的回答,我认为这应该是一个答案。@Cyclone:可能是。然而,我不明白strpos()与它有什么关系。因为OP没有提供足够的信息,所以很难说这是否是一个解决方案。@PeeHaa:至少对我来说,这似乎有点明显,这个答案的作用是检查字符串是否包含“坏登录”。当然,这可能意味着他们应该trim($result)
最有可能,但既然这对OP有效,那么它就起作用了。我只是按照他说的登录是从另一个站点使用curl验证的,他有$result的值。很可能至少有空白,或者可能有完整的html网页。带strtolower的strpo应该足以找到$result中的“坏登录”,这是正确的all@PeeHaa当前位置这是对他的问题的回答,我认为这应该是一个答案。@Cyclone:可能是。然而,我不明白strpos()与它有什么关系。因为OP没有提供足够的信息,所以很难说这是否是一个解决方案。@PeeHaa:至少对我来说,这似乎有点明显,这个答案的作用是检查字符串是否包含“坏登录”。当然,这可能意味着他们应该trim($result)
最有可能,但既然这对OP有效,那么它就起作用了。我只是按照他说的登录是从另一个站点使用curl验证的,他有$result的值。很可能至少有空白,或者可能有完整的html网页。strtolower的strpo应该足以发现$result中的“坏登录”,仅此而已