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

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

· 4년 전 · 2435 · 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개

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

게시글 목록

번호 제목
22896
22895
22885
22875
22872
22862
22860
22855
22849
22846
22824
22812
22809
22801
22795
22786
22765
22756
22739
22735
22685
22639
22636
22607
22605
22603
22592
22583
22578
22577