Form validation PHP class walk through

이 CodeQuickie에서는 가볍고 사용하기 쉬운 폼 유효성 검사 클래스를 만드는 방법을 보여 드리겠습니다 왜 당신이 수업을 만들지, 왜 다른 많은 사람들이 이미 존재하는지 물어볼 수 있습니다

이는 양식 확인에 소요되는 시간을 절약 할 수 있고 수업의 내용을 알게되어 사용하기가 더 쉽기 때문입니다 몇 가지 단점이 있지만 코드는 오류가 발생하기 쉽고 착취가 있으며 실제 커뮤니티가 지원되지 않습니다 기본 예제를 살펴 보겠습니다이 동영상에서는 등록 양식을 예로 들어 설명하겠습니다 기본 예제를 살펴 보겠습니다

이 동영상에서는 등록 양식을 예로 들어 설명하겠습니다 시작하자 먼저 클래스를 만듭니다 다음으로 우리는 생성 함수를 생성 할 것이다 우리는 formID와 _post 또는 _get을 사용할 변수를 정의하기 위해 생성 함수를 사용하고 있습니다

여러 양식을 동일한 페이지에 제출하고 해당 확인 기능을 사용할 수 있으므로 formID를 사용하고 있습니다 다음 함수는 값 함수가됩니다 인수는 이름 및 sanitize이며 기본값은 true입니다 이름 인수는 해당 입력에 대한 것이고 살생이 사실이라면 함수는 문자를 각각의 HTML 엔티티로 대체 한 입력 값과 원시 입력 값을 리턴합니다 기본적으로 sanitize가 true 인 이유는 XSS를 방지하기위한 것이므로 프로그래머는 똑똑 할 수도 있지만 건 망할 수 있습니다 특수 문자를 대체하면 아무런 해가 없습니다

이름 키가 post 변수에 있으면 값을 반환합니다 날씨가 무엇이든간에 빈 문자열을 반환합니다 우리는 사용자 이름과 이메일 입력에 값 속성을 제공하여이 값을 return from value 함수로 제공함으로써이 함수를 테스트 할 것입니다 특히 사용자의 불편을 방지 할 때 유용합니다 양식에 오류가있는 경우 제공된 데이터를 다시 입력하지 않고 잘못된 입력을 수정하기 만하면됩니다 클래스의 첫 번째 인스턴스를 만들어 보겠습니다

새로운 입력으로 이름은 formID입니다 $ formIDName은 "formID"이므로 $ formID는 레지스터이므로 값은 레지스터입니다 그래서 이것을 시도해 봅시다 그게 성공이야 다음 함수가 제출됩니다

해당 폼이 제출되었는지 여부에 따라 true 또는 false를 반환합니다 제출 된 기능은 내부적으로 사용되지만 다른 곳에서는 유용 할 수 있으므로 공개됩니다 이 if 문은 2 개의 실제 평가가 필요합니다 첫 번째는 post 배열에 값이 있음입니다 두 번째로 formID라는 이름의 입력 값은 해당 클래스와 일치합니다

그렇다면 우리는 사실을 돌려 줄 것입니다 그렇지 않으면 거짓으로 돌아갑니다 가장 중요한 기능 유효성 검사 Validate는 하나의 인수를 가지며 배열이어야합니다

배열은 유효성 검사가 필요한 입력의 키가되는 연관 배열이어야합니다 각 키의 값은 오류 유무를 평가하여 리턴하는 함수입니다 먼저 오류 여부를 평가하기 전에 양식이 제출되었는지 확인해야합니다 이 양식을 제출하지 않으면 $ this가 반환됩니다 foreach를 사용하여 배열을 반복합니다

루프 내에서 오류 변수를 만듭니다 인수가 입력의 원시 값이되므로 유효성 검증 함수를 호출합니다 따라서 인수는 false입니다 둘째로 $ this, 두 번째 인수의 중요성에 대해 더 자세히 설명 할 것입니다 오류 변수가 문자열 인 경우 오류가 있음을 나타내며 키를이 클래스의 개인 오류 변수로 설정합니다

다음 함수는 오류가됩니다 이것은 각각의 입력에 사용될 이름의 인수 하나를가집니다 이 함수는 빈 문자열이있을 경우 입력에 대한 오류를 반환합니다 지금까지 테스트 해 봅시다 이제 유효성 검사 함수를 만들어야합니다

그래서 username과 email의 값이 비어 있다면 이것은 각각의 에러를 반환 할 것이다 그러나 이메일 (형식)은 잘못 제공 될 수 있습니다 여기에 두 번째 인수 $ this가 중요한 의미가 있습니다 다음 함수는 addError입니다 그것에는 두 가지 주장이 있습니다

첫 번째는 오류가있는 입력의 이름이고 두 번째는 오류에 대한 설명을 제공하는 문자열이 될 것으로 예상됩니다 이 함수는 별도의 유효성 검사 함수에서 평가 후 $ 이름이있는 입력에 대한 오류를 추가하는 데 사용할 수 있습니다 다음 함수는 errorInForm입니다 폼에 오류가 있는지 여부에 따라 true 또는 false를 반환합니다 이는 개인 오류 변수 (배열)가 비 었는지 여부에 따라 평가됩니다

마지막 기능은 성공입니다 true 또는 false를 반환합니다 그러면 양식이 제출되었으며 양식에 오류가없는 것으로 평가됩니다