>백엔드 개발 >PHP 튜토리얼 >关于php中isset的问题

关于php中isset的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-20 12:32:561105검색

if ( isset($_POST['pass']) & isset($_POST['name']) & @MD5($_POST['pass'])==" admin" & @$_POST['name']==" admin" )

这一句中为什么我在前端输入用户名admin跟密码admin时始终进不去呢?


if ( isset($_POST['pass']) & isset($_POST['name']) & @MD5($_POST['pass'])==" admin" & @$_POST['name']==" admin" )
{
?>





}else{
?>












}  
?> 


回复讨论(解决方案)

MD5($_POST['pass'])=="admin" 
这是永远都不会成立的
md5 对任何值(包括空串)都返回一个长度为 32 字节的串

一个&是位运算
两个&&才是并且关系

还有任何md5的值都是32位的字符串

应该怎样修改呢

if ( isset($_POST['pass']) && isset($_POST['name']) && $_POST['pass']=="admin" && $_POST['name']=="admin" )

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.