2009-06-15 7 views
1

PHP를 사용하여 폼의 일부를 생성하는 방법은 무엇입니까?PHP 폼 생성기

메뉴의 각 옵션을 입력하지 않고 사용자가 월, 일, 연도의 드롭 다운 메뉴를 통해 날짜를 입력 할 수있는 양식을 만들고 싶습니다. 어떻게 자동으로 그렇게할까요? PHP?

예를 들어 순수 HTML을 사용하여 수동으로 입력하지 않고도 1 월 31 일, 2 월 1-28 일 등을 어떻게 생성합니까?

+0

PHP가 아닌 JS에는 컨트롤이 있습니다. 나는 자기 자신을 쓴 사람을 사용하고있다. 나를 찾으면 우리가 할 수있는 것을 볼 것이다. –

답변

2

다음은 출력 그들에게 당신이 그 (것)들에게 많이 사용하는 것으로려고하는 경우에 것을 함수를 만들 수 있습니다 내가 PHP

<select name="birthday_month" id="birthday_month"> 
    <option value=""></option> 
    <? foreach(range(1,12) as $month): ?> 
    <option value="<?= $month ?>"><?= date('F', mktime(1,1,1,$month,1,2000)) ?></option> 
    <? endforeach; ?> 
</select> 

<select name="birthday_day" id="birthday_day"> 
    <option value=""></option> 
    <? foreach(range(1,31) as $day): ?> 
    <option value="<?= $day ?>"><?= $day ?></option> 
    <? endforeach; ?> 
</select> 

<select name="birthday_year" id="birthday_year"> 
    <option value=""></option> 
    <? foreach(range(date('Y'),1900) as $year): ?> 
    <option value="<?= $year ?>"><?= $year ?></option> 
    <? endforeach; ?> 
</select> 

그것을 할 방법의 단순화 된 버전입니다.

편집 : 날짜를 서버 측에서 검사해야하기 때문에 일을 자동 채우는 데 시간이 걸리지 않습니다.

0

나는 HTML5에 날짜 선택기 구성 요소가 있지만 어쩌면 너무 빠르다고 생각합니다.

갈렌은 올바른 방향으로 가고 있지만 브라우저에서 한 달에서 다른 달로 바꿀 때 올바른 날짜 설정을 얻지 못합니다 (예 : 2 월 31 일로 끝나면 서버에 다시 전화하십시오)

내가 생각하는 Itay Moav의 자바 제안 : 자바 스크립트를 사용하여 브라우저 끝에서 DOM을 수정하십시오. 사용자가 월을 선택하고 월 선택기에 대해 onChange 이벤트를 발생 시키면 연도에 따라 28-29 일을 다시 작성합니다.

한 번 something along these lines을 수행했으면 너무 어려움없이 페이지/스크립트를 분해하십시오 (사이트의 일본어는 이지만 소스 코드는 잘못 작성되었습니다).

+0

자바 스크립트를 사용하여 달을 자동으로 채우더라도 서버 측의 날짜를 확인해야합니다. 내 방식은 훨씬 간단합니다. – Galen

+0

훨씬 간단합니다 ... upvote! – Assembler

0

두 답변 :

1 : 자바 스크립트 달력 클래스를 찾을 수 있습니다.

2 : PHP에서 :

$year = 2009; // February has different days in month - based on leap year 
for ($month = 1; $month <= 12; $month++) 
    $lastDayOfMonth[$month] = date("j", strtotime("yesterday", strtotime($month+1."/1/$year"))); 

지금 당신이 달의 일수로 설정 값을 배열 (지도) 개월로, 월별 지수를 가지고;

시간 코드는 기본적으로 다음과 같이 말합니다. 다음 달의 첫날을 찾은 다음 어제 (다음 달 1 일 전날)를 찾은 다음 그 날을 반환합니다. 따라서 그 달의 마지막 날은 그 달의 일수입니다. 스크립트가 실행중인 월의 일 수를 표시하려면

또한

-CF

0

, 당신은 할 수 있습니다 :

print date("t", mktime(0,0,0, date("n"))); 

이 출력됩니다 중 30, 31, 또는 28 (2 월 2 일)