모든 필드가 채워지지 않은 경우 오류가 표시되도록 조건을 설정하려고합니다. 필자가 작성한 코드는 항상 사실로 출력됩니다.빈 입력에 대한 조건을 설정하십시오.
내가 뭘 잘못하고 있니? 필드 중 하나가 비어있는 경우
if (empty($oldpassword)||empty($newpassword)||empty($repatnewpassword))
모든 필드가 채워지지 않은 경우 오류가 표시되도록 조건을 설정하려고합니다. 필자가 작성한 코드는 항상 사실로 출력됩니다.빈 입력에 대한 조건을 설정하십시오.
내가 뭘 잘못하고 있니? 필드 중 하나가 비어있는 경우
if (empty($oldpassword)||empty($newpassword)||empty($repatnewpassword))
당신은 의미, 그 중 하나를 확인하는, 그것은 true
을 발생합니다. 및로 변경, 그래서 당신은 모든 필드가 비어 true
에만 경우 얻을 :
if (empty($oldpassword) && empty($newpassword) && empty($repatnewpassword))
모든 필드가 작성되어 있는지 확인해야하는 경우가 하나가 마녀를 알 필요가 작성되지, 조금 더 코드를 수행 $를 OLDpassword이 비어있는 경우 $ NEWPASSWORD가 아닌 동안
# check first if old password is filled
if ($oldpassword) {
# now, if that works, check if new passwords are filled (and match too)
if ($newpassword && ($newpassword == $repatnewpassword)) {
// do whatever password checks here, now you know that oldpassword is
// filled and newpassord is filled and matches repatnewpassword
} else {
// new password is not filled or passwords don't match
}
} else {
// old password is not filled out
}
당신의 코드는 true를 돌려줍니다. 모두 ||를 & &으로 변경하십시오.
그 상자가 비어 있다면 그것은 사실입니다.하지만 모든 입력이 채워지는 순간 그 순간은 여전히 사실입니다. –
새 코드로 답변을 업데이트했습니다. – Peon