只是想知道是否有人可以帮助我使用此代码。我看不出它失败的地方。
case "3":
echo "
<h2 align=\"center\">Arbeidstid - Start/Stop</h2>";
$today = date("Y-m-d H:i:s");
$userid = $_COOKIE['userid'];
echo "<form action=\"index.php?fid=3\" method=\"post\">";
if (isset($_POST['today'])) {
if (isset($_COOKIE['wstart'])) {
$query=$oDB->Prepare("UPDATE workhours SET stop=:today WHERE userid=:userid");
unset($_COOKIE['wstart']);
setcookie('wstart', '', time() - 3600); //delete or reset cookie
}
else {
$query=$oDB->Prepare("INSERT INTO workhours (userid, start) VALUES (:userid, :today)");
setcookie("wstart", $time, time()+96000);
}
$query->execute(array(':userid' => $userid, ':today' => $today));
header("location:index.php");
if (!$query) {
echo "\nPDO::errorInfo():\n";
print_r($oDB->errorInfo());
}
}
else {
if (isset($_COOKIE['wstart'])) {
echo "<input type=\"hidden\" name=\"today\" value=\"$today\"><input type=\"submit\" value=\"stop\" />";
}
else {
echo "<input type=\"hidden\" name=\"today\" value=\"$today\"><input type=\"submit\" value=\"start\" />";
}
}
echo "</form>";
break;
如果设置了cookie wstart,它应该显示一个停止按钮,如果没有,按钮应该说开始。
停止按钮将执行与启动不同的查询,因为我希望数据值进入停止列,并将起始值放入启动列。会发生什么是始终显示开始按钮。
除了删除COOKIE部分外几乎可以使用的更新代码
case "3":
echo "
<h2 align=\"center\">Arbeidstid - Start/Stop</h2>";
$today = date("Y-m-d H:i:s");
$userid = $_COOKIE['userid'];
echo "<form action=\"index.php?fid=3\" method=\"post\">";
if (isset($_POST['today'])) {
if (isset($_COOKIE['wstart'])) {
$query=$oDB->Prepare("UPDATE workhours SET stop=:today WHERE userid=:userid ORDER BY start DESC LIMIT 1");
unset($_COOKIE['wstart']);
setcookie('wstart', null, -1, '/'); //delete or reset cookie
}
else {
$query=$oDB->Prepare("INSERT INTO workhours (userid, start) VALUES (:userid, :today)");
setcookie("wstart", $today, time()+96000);
}
$query->execute(array(':userid' => $userid, ':today' => $today));
header("location:index.php");
if (!$query) {
echo "\nPDO::errorInfo():\n";
print_r($oDB->errorInfo());
}
}
elseif (!isset($_POST['today'])) {
if (isset($_COOKIE['wstart'])) {
echo "<input type=\"hidden\" name=\"today\" value=\"$today\"><input type=\"submit\" value=\"stop\" />";
}
else {
echo "<input type=\"hidden\" name=\"today\" value=\"$today\"><input type=\"submit\" value=\"start\" />";
}
}
else { echo "yeah yeah";}
echo "</form>";
break;
感谢阅读!
答案 0 :(得分:0)
我认为你在这里有错误:
setcookie("wstart", $time, time()+96000);
如果之前定义了$ time,请在将其设置为cookie之前确保它具有值 $ time在任何地方都没有定义,如果你定义它,它将验证if和&#39;输出&#39;停止&#39;按钮