ホームページ  >  記事  >  バックエンド開発  >  QAQ に入るときに条件が満たされず、ユーザー名の形式が異常になるのはなぜですか?

QAQ に入るときに条件が満たされず、ユーザー名の形式が異常になるのはなぜですか?

WBOY
WBOYオリジナル
2016-06-13 12:59:59946ブラウズ

条件を満たさないのはなぜですか? それでも入力するとユーザー名形式エラーが出力されます QAQ
各変数の値を確認する形式を入力してください


ただし、strlen($username)=9
結果1=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 />



-----解決策--------------------------------
Mozhu は正しいです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。