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

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

WBOY
WBOYOriginal
2016-06-13 12:59:59946Durchsuche

为什么不满足条件 还是进入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 />



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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel: thinkphp,该怎么处理 Nächster Artikel: 请问一个数据格式转换