> 백엔드 개발 > PHP 튜토리얼 > 为什么不满足条件 还是进入if 输出了用户名格式异常QAQ

为什么不满足条件 还是进入if 输出了用户名格式异常QAQ

WBOY
풀어 주다: 2016-06-13 11:05:59
원래의
1063명이 탐색했습니다.

为什么不满足条件 还是进入if 输出了用户名格式错误QAQ
进入格式检查 个个变量的值


可是strlen($username)=9
result1=1
还是会跑进if里面
输出用户名格式错误


整段代码里只有这一段“用户名格式错误”
[/img]

<br /><?php<br />$posts=$_POST;<br />foreach($posts as $key => $value){<br />	if(empty($value))<br />		exit('非法访问!');<br />}<br />foreach ($posts as $key => $value) {<br />	$posts[$key] = trim($value);<br />}<br />require ('dbconfig.php');<br />//注册<br />function register($username,$password,$email){<br />	$query = "insert userdata values('". $username ."','". $password ."','". $email. "')";<br />	$result=mysql_query($query);<br />	if(!$result){<br />		exit('注册失败!papap');<br />		//die('注册失败'.  mysql_error());<br />	}<br />	else{<br />		echo "注册成功!";<br />	}<br />}<br />//检查用户名,密码,邮箱格式<br />function verifyFormat($username,$password,$email){<br />	$result1=preg_match("/^[\x{4e00}-\x{9fa5}]+$/u", $username);<br />	if(strlen($username)<1 || strlen($username)>16 || result1==0){<br />		echo "用户名格式错误!";<br />		return false;<br />		//die("用户名格式错误!");<br />	}<br /><br />	$result2=preg_match("/^\w+$/u", $password);<br />	if(strlen($password)<6 || strlen($password)>17 || result2==0){<br />		echo "密码格式错误!";<br />		return false;<br />		//die("密码格式错误!");<br />	}<br />	<br />	$result3=preg_match("/^[a-zA-Z\d]+@[a-zA-Z\d]+\.[com|cn|com.cn|net]+$/u", $email);<br />	if(result3==0){<br />		echo "邮箱格式错误!";<br />		return false;<br />		//die("邮箱格式错误!");<br />	}<br />	return true;<br />}<br />$flag=verifyFormat($posts['username'],$posts['password'], $posts['email']);<br />if($flag)<br />	register($posts['username'],$posts['password'], $posts['email']);<br />else<br />	die("注册失败!!..");<br />?><br />
로그인 후 복사



------解决方案--------------------
斑竹说的对。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿