[英]PHP - Best way to log user activity and display them on different pages?
[英]What is the best way to save and load an activity log in PHP?
在我开始之前,这是一个分配。 我只是在帮助之后给了一些指导:)
我正在开发一个健身房会员网站,允许用户注册,登录和预订活动。
除了活动预订系统外,我还有一切工作,这就是我需要的指导。 我有一个txt文件,其中包含每个活动名称,时间,总共可以参加的活动日志。 我想在每个活动的最后添加一个谁正在参加。 因此,允许用户预订活动,将活动用户名添加到活动中。
这正是我目前的activity.txt文件打印方式(除了最右边的'Book'按钮。
NumberOne 3 Wednesday 8am (BOOK)
NumberTwo 7 Thursday 10am (BOOK)
NumberThree 20 Monday 1pm (BOOK)
NumberFour 15 Tuesday 5pm (BOOK)
基本上,我需要指导的是“书籍”按钮。 按下“预订”按钮后,它会将用户预订到活动中。
这是我的activity.txt文件当前的样子:
NumberOne,3,Wednesday 8am
NumberTwo,7,Thursday 10am
NumberThree,20,Monday 1pm
NumberFour,15,Tuesday 5pm
这是我目前正在打印活动的代码:
function bookActivity()
{
$fileContentsArray = file("activity.txt");
echo "<table>";
foreach($fileContentsArray as $one_persons_data)
{
echo '<tr>';
$splitted = preg_split('/,/', $one_persons_data);
foreach ($splitted as $one)
{
echo "<td>$one</td>";
}
echo '</tr>';
}
echo "</table>";
}
如果需要,下面是我的users.txt文件。 所有密码都保存在MD5中
jiten:3fc0a7acf087f549ac2b266baf94b8b1
jb:3fc0a7acf087f549ac2b266baf94b8b1
test:bed128365216c019988915ed3add75fb
joeBlogg:bed128365216c019988915ed3add75fb
userX:bed128365216c019988915ed3add75fb
userY:bed128365216c019988915ed3add75fb
非常感谢所有帮助。 对如何做到这一点非常困惑。
这是一个粗略的指导原则(我不会详细说明,因为它毕竟是家庭作业)我会保留你不允许使用任何不同于文本文件的假设,但可以创建/删除任意数量的文本文件。
file(...)
设置正确的标志 explode()
在这里找到方便的explode()
。 有人按“书籍活动”按钮时,您必须执行以下步骤:
要显示已预订用户的列表,只需从每个活动文件中读取文件内容即可。 这次你可能会发现有用的implode()
。
我希望这能帮助您找到正确的方法。 最后一点,文本文件并不是为了实现这一目的而设计的:一个小型数据库更易于使用,学习起来更有趣,对您的未来更有用。
参考文献:
一些东西:
(FWIW,你的.txt文件已经是csv,你只是不这样对待它。)
根据具体问题:单击“预订”只需将课程名称传递给将当前用户添加到该课程的脚本(如果他们尚未注册)。 您可以使用POST(HTML表单)或更简单地GET(链接和查询参数)传递课程名称。
使用链接(GET)可能如下所示:
$bookingUrl = "register.php?courseName=".urlencode($courseName);
使用表单(POST)可能如下所示:
<form action="register.php" method="POST">
<input type="hidden" value="<?= $courseName; ?>" />
<input type="submit" value="Book" />
</form>
另一个答案提到使用单独的文件来跟踪每门课程的注册情况,但我不认为这是必要的; 只需使用一个。 想一想你真正追踪的内容是有帮助的:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.