텍스트입력을 날짜포맷으로 고정해서 넘기기(자리수 맞춤) > 그누보드5 팁자료실

그누보드5 팁자료실

텍스트입력을 날짜포맷으로 고정해서 넘기기(자리수 맞춤) 정보

텍스트입력을 날짜포맷으로 고정해서 넘기기(자리수 맞춤)

본문

Input 필드에 날짜형태(datepick)로 입력을 받을때

예를 들어 2021-09-03으로 하면 문제가 없지만 

2021-9-3 / 2021-09-3 / 2021-9-03 으로 입력을 하게 되면

그대로 입력은 됩니다.

여기서 나중에 sql 검색시 오류(?)가 발생할 수 도 있어서

어떤형태가 되었든지 xxxx-xx-xx 로 변환하여 넘기는

간단한 php 입니다.

입력을 2021-0001-00006   

마지막 값은 2021-01-06으로 넘깁니다.

그리고 입력이 2021/1/3 또한 마지막은 2021-01-03으로

변환됩니다.

 

해당 스킨에 write_update.head.skin.php 안에 기입을 해주시면 되고,

$final의 형태를 필요한 내용으로 변경하시면 됩니다.

 

예) 입력을 받을 날짜가 2개 일때($wr_5, $wr_8)

 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
        if( $wr_5 != "-")  $wr_5 = day_format($wr_5);  //입력된 값이"-" 이면 함수실행 안함(검사생략)
        if( $wr_8 != "-")  $wr_8 = day_format($wr_8);  //입력된 값이"-" 이면 함수실행 안함(검사생략)
?>
<?php
function day_format($intext){
    $chk1 = strpos($intext, "-");  // 구분자 "-" 검색
    $chk2 = strpos($intext, "/");  // 구분자 "/" 검색
    $chk = ($chk1 == 0 || $chk1 === false) ? "/" : "-";   //어떤 구분자를 사용한지 체크
    if($chk =="/"){
        $intext = str_replace("/", "-",  $intext);   // "/" 구분자를 "-"로 변경 후 입력문자열 치환
        $chk1 = strpos($intext, "-");  //한번 더 실행
        $chk = "-";
    }
    if($chk1 == 0 || $chk1 === false ){
        $final = "-";   // 입력된값이 "-" 한개 일때 즉 입력값을 null로 하지 않고 초기값 "-"로 설정
    }else{
        $arrDay = explode ($chk,  $intext);
        $Date0 = $arrDay[0];
        $Date1 = ((int)$arrDay[1] < 10) ? "0".(int)$arrDay[1] : (int)$arrDay[1] ;
        $Date2 = ((int)$arrDay[2] < 10) ? "0".(int)$arrDay[2] : (int)$arrDay[2] ;
        $final = $Date0."-".$Date1."-".$Date2;    // xxxx-xx-xx 로 리턴
    }  
    return $final;
}
?>

 

 

추천
3

댓글 2개

전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT