테스트 사이트 - 개발 중인 베타 버전입니다

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

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)

 [code]

<?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;

}

?>

[/code]

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

읽어 주셔서 감사해요

게시판 목록

그누보드5 팁자료실

글쓰기
🐛 버그신고