我是初学PHP,现在遇到一个问题,就是我要求设计一个网页输入日期,和其他条目输入并存储到txt文件里面。我做了个下拉菜单让用户选择输入日期,月份和日是用下拉菜单,年用TXT文本输入。现在问题是要检查日期的有效性,我用checkdate函数来做,如果输入是全部数字,我可以做到这个功能,但是存储要求是用3位英文存储月份,我不知道该怎么样转换。
代码如下:
<?php
$tourtype = $_POST["tourtype"];
$mo = $_POST["mo"];
$day = $_POST["day"];
$year = $_POST["year"];if(checkdate((int)$mo, (int)$day, (int)$year))
{
$path = "../data";
umask(0007);
if (!file_exists($path))
mkdir($path, 02770); $bookings = fopen($path. "/bookings.txt", "a");
if (is_writable($path . "/bookings.txt")) {
if (fwrite($bookings, $tourtype . "\t ". $mo ."\t ". $day ."\t ". $year ."\r\n")) {
echo "<p class=\"ok\">Thank you for signing our guest book!</p>";
} else {
echo "<p class=\"wrong\">Cannot add your name to the guest book.</p>";
}
} else {
echo "<p class=\"wrong\">Cannot write to the file.</p>";
}
fclose($bookings);
}
else{
echo "<p class=\"wrong\">The date is unavlidated.</p>";
}
}?>
代码如下:
<?php
$tourtype = $_POST["tourtype"];
$mo = $_POST["mo"];
$day = $_POST["day"];
$year = $_POST["year"];if(checkdate((int)$mo, (int)$day, (int)$year))
{
$path = "../data";
umask(0007);
if (!file_exists($path))
mkdir($path, 02770); $bookings = fopen($path. "/bookings.txt", "a");
if (is_writable($path . "/bookings.txt")) {
if (fwrite($bookings, $tourtype . "\t ". $mo ."\t ". $day ."\t ". $year ."\r\n")) {
echo "<p class=\"ok\">Thank you for signing our guest book!</p>";
} else {
echo "<p class=\"wrong\">Cannot add your name to the guest book.</p>";
}
} else {
echo "<p class=\"wrong\">Cannot write to the file.</p>";
}
fclose($bookings);
}
else{
echo "<p class=\"wrong\">The date is unavlidated.</p>";
}
}?>
<select name = "mo">
<option value = "1" selscted>Jan
<option value = "2">Feb
<option value = "3">Mar
<option value = "4">Apr
<option value = "5">May
<option value = "6">Jun
<option value = "7">Jul
<option value = "8">Aug
<option value = "9">Sep
<option value = "10">Oct
<option value = "11">Nov
<option value = "12">Dec
</select>
就是这样的内容,每条存储在文本文件的一行。
B0004 SSS Great Park Feb 27 2011就是要把数字改为英文存储。
<p><b>Tour Date:</b>
<select name = "mo">
<option value = "1" selscted>Jan
<option value = "2">Feb
<option value = "3">Mar
<option value = "4">Apr
<option value = "5">May
<option value = "6">Jun
<option value = "7">Jul
<option value = "8">Aug
<option value = "9">Sep
<option value = "10">Oct
<option value = "11">Nov
<option value = "12">Dec
</select>
改成<p><b>Tour Date:</b>
<select name = "mo">
<option value = "Jan" selscted>Jan
<option value = "Feb">Feb
<option value = "Mar">Mar
<option value = "Apr">Apr
<option value = "May">May
<option value = "Jun">Jun
<option value = "Jul">Jul
<option value = "Aug">Aug
<option value = "Sep">Sep
<option value = "Oct">Oct
<option value = "Nov">Nov
<option value = "Dec">Dec
</select>
$mm=$months[$_POST["mo"]);
$mydate=$mm." ".$dd." ".$yyyy
$months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$mydate=$months[$mo]." ".$day." ".$year