【发布时间】:2014-01-21 07:23:06
【问题描述】:
我正在开发一个 PHP 系统,该系统允许客户通过数据库进行预订。
除一部分外,一切正常。那部分是time() 和date() 在会话中未正确设置。请注意,这不是我的原创作品,它来自以前的创作者,但他不再为公司工作。
这是预订脚本的一部分:
if (!isset($_SESSION['mt_reservering']['startdate']) || !$_SESSION['mt_reservering']['startdate'] )
{
$_SESSION['mt_reservering']['startdate'] = time();
}
//handle post
foreach($_POST as $key => $value)
{
if ($key == "startdate")
{
$arr_values = explode("-",$value);
$value = time(0,0,0,$arr_values[1],$arr_values[0],$arr_values[2]);
}
$_SESSION['mt_reservering'][$key] = $value;
输入:
$formulier .= "
<tr>
<td>Vertrekdatum:</td>
<td>
<input type=\"text\" name=\"startdate\" style=\"width:175px;\" value=\"".date("d-m-Y",$_SESSION['mt_reservering']['startdate'])."\">
<script language=\"JavaScript\">
new tcal ({
'formname': 'reservation',
'controlname': 'startdate'
});
</script>
</td>
</tr>";
所以这个问题的大部分原因是它在最后一步一直重置到今天的日期,而不是他们预订的日期。
有人知道为什么会这样吗?
一些图片看看吧:
【问题讨论】:
-
您是否在设置会话之前添加了
session_start();? -
您知道,您知道如何接受预订,只是不知道如何保留预订。这确实是保留中最重要的部分:控股。任何人都可以拿走它们。
-
@KrishR 是的,它在顶部。
标签: php html session date time