나는 신용 카드 필드에 각각 네 자리가 들어 있는지 확인하려고합니다.preg_match()는 매개 변수가 주어진 긴 문자열 일 것으로 예상합니다.
function creditcard ($creditCard1,$creditCard2,$creditCard3,$creditCard4)
{
$regexp="/^[0-9]{4}$/";
if (preg_match($regexp,$creditCard1,$creditCard2,$creditCard3,$creditCard4))//line 18
{
return TRUE;
}
else
{
echo'<script type="text/javascript">alert("Enter a valid credit card number.")</script>';
return FALSE;
}
}
$creditCard1=$_POST['creditCard1'];
$creditCard2=$_POST['creditCard2'];
$creditCard3=$_POST['creditCard3'];
$creditCard4=$_POST['creditCard4'];
$creditcard=creditcard($creditCard1,$creditCard2,$creditCard3,$creditCard4);
이 오류가 발생합니다.
Warning: preg_match() expects parameter 4 to be long, string given in C:\xampp\htdocs\SFASC2\aa.php on line 18
내가 잘못하고있는 것을 고칠 수 없어. 고마워. 이 같은 많은 질문이 있지만, 나에게 해결책을주는 것도 없습니다 .. 그리고 나는 벽에 머리를 치고있었습니다. 의심 할 여지없이 명백한 것을 내려다 보았습니다.
[preg_match'] (http://php.net/preg_match)의 참조 페이지, 특히 함수의 매개 변수를 살펴보십시오. – Gumbo
실제 신용 카드를 취급하고 있습니까? 그것은 무섭다. 신용 카드와 관련된 모든 보안 요구 사항을 알고 있습니까? – DCoder
오, 진정해. 이것이 임무라고 말하면 아무런 문제가 없습니다. 상당수의 사람들이 이처럼 많은 경험을 통해 실제 민감한 데이터를 실제로 처리하려고합니다. 그래서 나는 물었습니다. – DCoder