Php 如果输入类型为年度文本,如何使用checkdate函数?
我有下面的输入代码,我希望用户输入他的出生年份。我的讲师要求我使用文本框让用户输入出生年份、日期和月份作为下拉列表。他还要求我们使用checkdate函数检查用户是否正确输入了出生日期。(我正在使用EclipsePDT) 这是php页面中输入出生日期的代码:Php 如果输入类型为年度文本,如何使用checkdate函数?,php,input,textbox,Php,Input,Textbox,我有下面的输入代码,我希望用户输入他的出生年份。我的讲师要求我使用文本框让用户输入出生年份、日期和月份作为下拉列表。他还要求我们使用checkdate函数检查用户是否正确输入了出生日期。(我正在使用EclipsePDT) 这是php页面中输入出生日期的代码: <p> <b>Date of Birth:</b> <select size="1" name="day"> <option value=
<p>
<b>Date of Birth:</b>
<select size="1" name="day">
<option value="" selected>Select Date</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select size="1" name="month">
<option value="" selected>Select Month</option>
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<b>Year:</b>
<input type="text" name="year" size="4" maxlength="4" value="" />
出生日期:
选择日期
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
十七,
18
19
20
21
22
23
24
25
26
27
28
29
30
31
选择月份
一月
二月
前进
四月
也许
六月
七月
八月
九月
十月
十一月
十二月
年份:
所以当我使用checkdate函数时,
$month = $_POST['month'];
$day = $_POST['day'];
$year = $_POST['year'];
if(checkdate($month,$day,$year) == TRUE){
//$dob is a valid date
echo "<p>Date of birth:$day $month $year</p>";
}
else {
//$dob is a not valid date
$day = null;
$month = null;
$year = null;
echo "<p><b><font color=red>Please enter a <mark>valid</mark> date of birth!</font></b></p>";
$month=$\u POST['month'];
$day=$_POST['day'];
$year=$_POST['year'];
如果(检查日期($month,$day,$year)==TRUE){
//$dob是一个有效日期
echo“出生日期:$day$month$year”;
}
否则{
//$dob是无效日期
$day=null;
$month=null;
$year=null;
echo“请输入有效的出生日期!”;
显示的错误:
警告:checkdate()要求参数3为长字符串,在第54行的C:\xamp\htdocs\1300532g\Assignment\u 1\registerProcess.php中给出
问题:
如何使年文本框仅包含数字而不包含负值?
我尝试使用其他输入类型属性,但它也显示错误:未定义的属性值(数字)
将变量转换为整数:
$year = (int) $_POST['year'];
type
属性实际上与PHP处理值的方式无关。请尝试使用int
:
$month = $_POST['month'];
$day = $_POST['day'];
$year = (int) $_POST['year'];
if(checkdate($month,$day,$year))
{
//$dob is a valid date
echo "<p>Date of birth:$day $month $year</p>";
}
else
{
//$dob is a not valid date
$day = null;
$month = null;
$year = null;
echo "<p><b><font color=red>Please enter a <mark>valid</mark> date of birth!</font></b></p>";
}
$month=$\u POST['month'];
$day=$_POST['day'];
$year=(int)$_POST['year'];
if(检查日期($month,$day,$year))
{
//$dob是一个有效日期
echo“出生日期:$day$month$year”;
}
其他的
{
//$dob是无效日期
$day=null;
$month=null;
$year=null;
echo“请输入有效的出生日期!”;
}
$month = $_POST['month'];
$day = $_POST['day'];
$year = (int) $_POST['year'];
if(checkdate($month,$day,$year))
{
//$dob is a valid date
echo "<p>Date of birth:$day $month $year</p>";
}
else
{
//$dob is a not valid date
$day = null;
$month = null;
$year = null;
echo "<p><b><font color=red>Please enter a <mark>valid</mark> date of birth!</font></b></p>";
}