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

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

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

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

게시글 목록

번호 제목
22569
22566
22565
22559
22530
22527
22525
22521
22518
22506
22500
22490
22487
22481
22480
22473
22471
22468
22453
22449
22440
22436
22435
22415
22407
22404
22376
22364
22362
22353