>백엔드 개발 >PHP 튜토리얼 >为什么这个总是第一个不合法?

为什么这个总是第一个不合法?

WBOY
WBOY원래의
2016-07-06 13:51:45894검색

比如我第一个333333 第二个输入3333333333333 第一个应该是合法的第二个应该不合法 但是为什么总是提示第一个不合法?

<code>
<form method="post">
    <input type="text" name="name">
    <input type="text" name="name2">
    <button type="submit">提交</button>
</form>
<?php $reg1='/^[1-9]\d{5,9}$/i';
$reg2='/\w{30,100}/';
$a=$_POST['name'];
$b=str_replace(" ","",$_POST['name2']);
if(preg_match($reg1, $a)){
    $nm=1;
}else{
    $nm=2;
}
if(preg_match($reg2, $b)){
    $cm=1;
}else{
    $cm=2;
}
if($nm=2){
    echo "1buhefa";
}else if($cm=2){
    echo "2buhefa";
}else{
    echo "yes";
}

?>
</code>

回复内容:

比如我第一个333333 第二个输入3333333333333 第一个应该是合法的第二个应该不合法 但是为什么总是提示第一个不合法?

<code>
<form method="post">
    <input type="text" name="name">
    <input type="text" name="name2">
    <button type="submit">提交</button>
</form>
<?php $reg1='/^[1-9]\d{5,9}$/i';
$reg2='/\w{30,100}/';
$a=$_POST['name'];
$b=str_replace(" ","",$_POST['name2']);
if(preg_match($reg1, $a)){
    $nm=1;
}else{
    $nm=2;
}
if(preg_match($reg2, $b)){
    $cm=1;
}else{
    $cm=2;
}
if($nm=2){
    echo "1buhefa";
}else if($cm=2){
    echo "2buhefa";
}else{
    echo "yes";
}

?>
</code>

你第二个变量是$b,根本没用上。怎么可能报不合法?

忘了 不能用=了

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