2012-12-07 3 views
1

지금은 HTML5 날짜 입력을 포함하는 양식과 stdtays를 사용하여 요일 (월, 화 등)을 얻는 두 번째 숨겨진 입력이 있습니다. 문제는 누군가 오늘 12/5를 선택하면 12/5 수요일 일 때 12/5와 금요일에 데이터베이스에 입력하게됩니다.날짜 입력을 사용하는 strtotime

<input class="form" id="date" type="date" name="date" size="15" placeholder="yyyy-mm-dd" autofocus required /> 

<input type="hidden" name="weekday" value="<?php echo date('l',strtotime('now')); ?>" /> 

구현했을 때, 오늘 날짜를 사용하는 것이 문제가 될 것이라고 생각하지 않았습니다. 그러나 유스 케이스가 변경되어 사람들이 새로운 결과를 입력했지만 오래된 날짜를 사용하는 경우 불일치가 발생합니다. 수요일이어야하는 평일에는 날짜와 금요일에 12/5로 표시됩니다.

양식이 실제로 아직 제출되지 않았으므로 두 입력을 함께 연결하는 방법을 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다.

+0

왜 오늘의 평일을 클라이언트를 통해 왕복해야합니까? –

+0

@MarcB 필요가 없습니다. 나는 그 당시 다른 방법을 생각할 수 없었습니다. 저는 사람들이 저에게 날짜를 구현하는 방법에 대한 아이디어를 제공하고 누군가 숨겨진 필드를 구현할 것을 제안하는 질문을 실제로했습니다. 그래서 그렇게했습니다. 그 당시 유스 케이스는 달랐다. – Envious

답변

1

왜 서버 측에서이 작업을 수행하지 않습니까?

그냥 모두 숨겨진 입력을 제거 PHP의 한 strtotime()에 대한 PHP 날짜()

Read more에 대한

$date = $_POST["date"]; 
$dateString = date('m/d l',strtotime($date)); 

Read more. 꼭 필요한 것은 아닙니다.

+0

흠 ... 기본적으로 폼에 숨겨진 입력을 없애고 제 삽입 페이지에 두 번째 줄을 추가할까요? – Envious

+0

예, * 동적 * 날짜가있는 오늘의 평일을 얻으려면 * 고정 * 숨겨진 입력이 필요하지 않습니다. – David

+0

성공! 그것은 효과가 있었다. 대단히 감사합니다. – Envious

1

PHP의 DateTime 함수를 사용하고 숨겨진 필드를 모두 제거하십시오. 날짜 시간 구조에

$date = date_create($_POST['date']); 
$day = $date->format('l'); 

더 많은 정보 : 내가보기 엔 기존의 날짜 함수를 통해 PHP에 내장 된 날짜 시간 클래스를 사용하는 습관을 받고 추천 http://us3.php.net/manual/en/datetime.construct.php

. 일반적으로 작업하기가 쉽고 유닉스 시대의 제한에 영향을받지 않습니다. 코딩 선호도에 따라 객체 지향 또는 절차 적으로 사용할 수도 있습니다.

관련 문제