从下拉列表选择菜单收到的时间戳过期问题。

时间:2011-07-28 13:42:30

标签: php codeigniter date

我想只允许访问者从某些日期中选择,例如接下来的20天。所以我有一个看起来像这样的表格。

<select name="data">
<?php
    $day = date('d');
    $i = 1;
    while($i < 20) {
        $i++;
        $data = (date("d-M-Y",mktime(0,0,0,7,$day,2011)) . "<br />");
        echo "<option value='".$data."'>".$data."</option>";
        $day++;
    }
?>
</select>

在控制器中(我使用Code Igniter),我可以回显日期,但我无法在日期之外创建时间戳。

$data = $this->input->post('data');
$timestamp = strtotime('$data');
echo $timestamp;

echo $timestamp不起作用。它什么也没显示。

我的$date23-08-2011但是,echo strtotime('23-08-2011');有效。

我甚至在Code Igniter(1个表单,1个processformfile)之外尝试过它,但它仍然不起作用。

你有什么想法,为什么它不起作用?

非常感谢。

1 个答案:

答案 0 :(得分:4)

好吧,$timestamp=strtotime('$data');无效,因为您将$data视为文字字符串。删除引号:

$timestamp=strtotime($data);

此外,您将$data设置为带换行符的格式化字符串:

$data=(date("d-M-Y",mktime(0,0,0,7,$day,2011))."<br />");

尝试:

$data=date("d-M-Y",mktime(0,0,0,7,$day,2011);