我正在尝试制作约会日历,我正在使用html表来执行此操作。我想要一种情况,如果用户点击空单元格(时间段,例如8:00或8:15被分成使用的单元格),则弹出一个表单并且用户填写表单。用户填写表单后,表单数据将保存到数据库中。但是,如果特定用户已经填充了一个单元格插槽,则该插槽的数据应该可供该用户访问并且灰色显示给其他用户。 如果单元格为空,则应该使单元格可以单击每个人。但是,如果单元格不为空,即用户已在该单元格中预约了约会,则应该允许该单元格仅由用户和管理员单击,并且不应该可以单击给其他用户。此外,用户应该能够编辑单元格的内容。
我该如何解决这个问题?我正在使用PHP和JavaScript。
以下是我到目前为止所做的工作。
if($_SESSION['interval'] == 30)
{
echo "<td onclick=popUpForm('$hoursDisplay[$x]:00-$hoursDisplay[$x]:30','$date')> </td><td onclick=popUpForm('$hoursDisplay[$x]:30-".$hoursDisplay[$x+1].":00','$date')> </td>";
}
if($_SESSION['interval'] == 20)
{
echo "<td onclick=popUpForm('$hoursDisplay[$x]:00-$hoursDisplay[$x]:20','$date')> </td><td onclick=popUpForm('$hoursDisplay[$x]:20-$hoursDisplay[$x]:40','$date')> </td><td onclick=popUpForm('$hoursDisplay[$x]:40-".$hoursDisplay[$x+1].":00','$date')> </td>";
}
if($_SESSION['interval'] == 15)
{
echo "<td onclick=popUpForm('$hoursDisplay[$x]:00-$hoursDisplay[$x]:15','$date')> </td><td onclick=popUpForm('$hoursDisplay[$x]:15-$hoursDisplay[$x]:30','$date')> </td><td onclick=popUpForm('$hoursDisplay[$x]:30-$hoursDisplay[$x]:45','$date')> </td><td onclick=popUpForm('$hoursDisplay[$x]:45-".$hoursDisplay[$x+1].":00','$date')> </td>";
}
答案 0 :(得分:0)
用户登录后,设置一个cookie。当请求空单元格提供表单时,否则请检查cookie以验证用户身份。如果cookie不匹配,则给出错误。登录身份验证涵盖here
答案 1 :(得分:0)
由于用户必须登录才能识别,因此您应该只提供有关用户状态的良好html单元代码。让我们假设您有一个使用数据的会话:
$_SESSION = array('userId'=>1,'isAdmin'=>false);
然后检查您是否有预约,如果用户是约会或管理员的所有者,您可以轻松了解您必须呈现的单元格版本(可点击与否)。
这里没有必要特别使用javascript,因为在我想象的渲染时间,所有数据都可用于服务器端。
你的问题太模糊了,如果你想让我们更精确地回答这一点,你应该稍微考虑一下。