我想只允许访问者从某些日期中选择,例如接下来的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
不起作用。它什么也没显示。
我的$date
为23-08-2011
但是,echo strtotime('23-08-2011');
有效。
我甚至在Code Igniter(1个表单,1个processformfile)之外尝试过它,但它仍然不起作用。
你有什么想法,为什么它不起作用?
非常感谢。
答案 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);