我是初学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>";
}
}?>

解决方案 »

  1.   

    我的输入菜单如下 显示是英文,按提交后post过去是数字。<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>
      

  2.   

    B0004  SSS  Great Park  2  27  2011
    就是这样的内容,每条存储在文本文件的一行。
      

  3.   

    现在问题就是存储要求是
    B0004  SSS  Great Park  Feb  27  2011就是要把数字改为英文存储。
      

  4.   


    <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>
      

  5.   

    从数组中取怎么样?$months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
    $mm=$months[$_POST["mo"]);
    $mydate=$mm." ".$dd." ".$yyyy
      

  6.   


    $months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
    $mydate=$months[$mo]." ".$day." ".$year
      

  7.   

    这个就是我要改的地方了。还是用下来菜单输入数字的月份,最后转换一下格式写入txt文件就好了,谢谢你。