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

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

· 4년 전 · 2434 · 2

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개

수고하셨습니다.
읽어 주셔서 감사해요

게시글 목록

번호 제목
23254
23244
23241
23236
23200
23199
23179
23174
23138
23128
23125
23116
23109
23099
23092
23083
23079
23063
23050
23036
23029
23007
23003
22983
22959
22943
22939
22934
22905
22897