无法返回表单的值

时间:2013-08-18 20:19:50

标签: php forms

我是php和网络编程的新手。

我正在编写一个收集论文的网站。在提交表单中,我希望通过3个选择下拉表单(日 - 月 - 年)输入日期。我曾经在文本字段中添加它们并将它们保存为数据库中的字符串。我已经添加了数百篇论文,所以我没有改变数据类型。

我做了以下事情: 1-我使用php进行了动态下拉:

function get_dropdown_options( $name, array $options, $selected=null ) {
$dropdown = '<select name="'.$name.'" id="'.$name.'">'."\n";
$selected = $selected;
    foreach( $options as $key=>$option )
{
   $select = $selected==$key ? ' selected' : null;
   $dropdown .= '<option value="'.$key.'"'.$select.'>'.$option.'</option>'."\n";
}

$dropdown .= '</select>'."\n";
return $dropdown; }

2-然后我做了一个功能,显示了几天,几个月和几年的三个下拉菜单。

function show_date_dropdown_row($name, $label, $option1, $option2, $option3,  $value = "") {

echo "<tr class=\"".get_row_bg()."\" valign='top'>\n<td><p class=\"rowtitle\">".$label."</p></td>\n"; 
  echo "<td><p>\n";     
  echo get_dropdown_options($name1, $option1, $value1).get_dropdown_options($name2, $option2, $value2).get_dropdown_options($name3, $option3, $value3);
  return $name = $name1." - ".$name2." - ".$name3;
    }
在提交表单页面中,我输入以下代码:

show_date_dropdown_row("release_date", "Release Date", $days_list, $months_list, $years_list, "");

4-然后将名称“release_date”添加到数据库中。

该页面完美显示了三个下拉列表。但问题是数据库中的“release_date”不存储任何值。

我在第1步尝试了这个功能,它完美无缺。我知道问题出在第二步,但不知道在哪里。

1 个答案:

答案 0 :(得分:0)

首先,show_dropdown_row中的return语句不会为您提供所需的日期。当用户请求页面时,该函数只运行一次。

因此,在get_dropdown_options函数中,不应使用$ name1,$ name2和$ name3,而应将值设置为。日,月和年作为选择元素的名称。

在您的PHP脚本上提交表单时,您应该使用post或get来捕获这些值。 等。

$dates=$_POST['year']."-".$_POST['month']."-".$_POST['day'];