댓글 목록

PHP 양식 - 필수 입력 필드

페이지 정보

작성자 운영자 작성일 18-03-13 14:05 조회 1,847 댓글 0

동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.

이 장에서는 입력 필드를 필수로 만들고 필요한 경우 오류 메시지를 보여주는 과정을 보여줍니다.


PHP - 필수 입력 필드


이전 장에서 유효성 검사 규칙 표에서 "아이디", "닉네임", "이름" 등은 필수입력 필드라는 것을 알 수 있습니다.

이런 필드는 비워둘 수 없으며 HTML 양식으로 반드시 작성해야 합니다.


 필드

 유효성 검사 규칙

 아이디

 필수. 영문자, 숫자, _만 입력 가능. 최소 3자이상

 비밀번호

 필수.

 비밀번호 확인

 필수.

 이름

 필수.

 닉네임

 필수. 공백없이 한글,영문,숫자만 입력 가능

 E-mail

 필수.

 전화번호

 선택사항.

 휴대폰번호

 선택사항.

 자동등록방지

 필수.



이전 장에서 모든 입력 필드는 선택사항이었습니다. (코드 예에서는..)

다음 코드에서는 몇 가지 새로운 변수를 추가했습니다. ($mb_idErr, $mb_nicnameErr, $mb_nameErr,...)

이 오류 변수는 필수 필드에 대한 오류 메시지를 보유합니다. 또한 $_POST변수마다 if... else문을 추가했습니다.

$_POST변수가 비어 있는지 확인합니다. (PHP empty()함수 사용) 비어 있으면 오류 메시지가 다른 오류 변수에 저장되고 비어 있지 않으면 test_input()함수를 통해 사용자 입력 데이터를 보냅니다.


  <?php

  // define variables and set to empty values

  $mb_idErr = $mb_passwordErr = $mb_nameErr = $mb_nicnameErr = $mb_telErr = "";

  $mb_id = $mb_password = $mb_name = $mb_nicname = $mb_tel = "";

  

  if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty($_POST["mb_id"])) {

      $mb_idErr = "mb_id is required";

    } else {

      $mb_id = test_input($_POST["mb_id"]);

    }

  

    if (empty($_POST["mb_password"])) {

      $mb_passwordErr = "mb_password is required";

    } else {

      $mb_password = test_input($_POST["mb_password"]);

    }

  

    if (empty($_POST["mb_name"])) {

      $mb_nameErr = "mb_name is required";

    } else {

      $mb_name = test_input($_POST["mb_name"]);

    }

  

    if (empty($_POST["mb_nicname"])) {

      $mb_nicnameErr = "mb_nicname is required";

    } else {

      $mb_nicname = test_input($_POST["mb_nicname"]);

    }

  

    if (empty($_POST["mb_tel"])) {

      $mb_telErr = "mb_tel is required";

    } else {

      $mb_tel = test_input($_POST["mb_tel"]);

    }

  }

  ?>


PHP - 에러 메시지 출력

그런 다음 HTML양식에서 필요한 각 필드 다음에 작은 스크립트를 추가하여 필요한 경우 올바른 오류 메시지를 생성합니다. (즉, 사용자가 필수 필드를 채우지 않고 양식을 제출하려고 시도하는 경우)


<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">


mb_id: 

<input type="text" name="mb_id">

<span class="error">* <?php echo $mb_idErr;?></span>

<br><br>

mb_password:

<input type="text" name="mb_password">

<span class="error">* <?php echo $mb_passwordErr;?></span>

<br><br>

mb_name:

<input type="text" name="mb_name">

<span class="error"><?php echo $mb_nameErr;?></span>

<br><br>

mb_nicname: 

<input type="text" name="mb_nicname">

<span class="error">* <?php echo $mb_nicnameErr;?></span>

<br><br>

mb_tel:

<input type="text" name="mb_tel">

<span class="error">* <?php echo $mb_telErr;?></span>

<br><br>

<input type="submit" name="submit" value="Submit"> 


</form>


** HTML5 required
<input type="text" name="name" required>


그누보드/영카트

** HTML 단계에서 필수입력 처리되고 있습니다.


/theme/basic/skin/board/basic/write.skin.php

/theme/basic/skin/board/gallery/write.skin.php

/theme/basic/skin/member/basic/register_form.skin.php






댓글목록 0

등록된 댓글이 없습니다.