21'C 흐림
서울 강남구
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;
}
?>