【发布时间】:2019-01-29 01:59:47
【问题描述】:
所以我创建了这个考勤系统,您可以在其中添加每个人的照片,然后该人可以单击他们的照片,它会让您知道他们已经签到。但是我有一个小问题。当您单击一张照片时,它表示已添加到系统中的每个人都已签入。任何人都可以给我建议,告诉我我可以做些什么来使每张照片成为一个单独的按钮,以及当您单击该图片时,与关联的名称那张照片将是唯一一张被签入的照片。
我知道我将文本文件用于练习目的,但是当我弄清楚如何使其正常工作时,我计划使用 MySQL 数据库和 php 来存储签入/签出数据。
当你进入页面时,它会自动检查每个人。
这是链接。这是一个完整的系统。您必须先注册,然后登录,然后单击左上角的签到按钮才能看到签到页面。
https://bluebrazentech.com/login/martinenrichment/register.php
访问代码:mea2018
下面是我的代码部分,它显示了我是如何编写签入功能的。提前谢谢你。
while ($row = mysqli_fetch_array($result)) {
echo "<div id='img_div'>";
echo "<form method = 'post' action=''>";
// this is how I make each photo into a button
echo "<input type ='image' id = 'myImg' width = '80%' alt = 'Submit' src='upload/".$row['image']."' />";
echo "<p>".$row['first_name']."</p>";
echo "<p>".$row['last_name']."</p>";
echo "</form>";
echo "</div>";
// when they click the photo this will give them a timestamp with their name but multiple names are coming up instead of the name connected to the photo.
date_default_timezone_set("America/Chicago");
$fp = fopen("timetracker.txt", "a");
$timestamp = date("l jS \of F Y h:i:s A");
$savestring = $timestamp . " $variable1 " . $row['first_name'] . " $variable1 " . "clocked in" . "\n";
fwrite($fp, $savestring);
fclose($fp);
$file = fopen("timetracker.txt", "r");
}
?>
<pre>
<?php
while ($line = fgets($file)){
echo $line;
}
?>
</pre>
【问题讨论】:
-
"我打算将 MySQL 数据库与 php 一起使用" 老实说,放弃你所拥有的,直接进入这个。如果你知道它会是这样,那么首先构建一个不同的、不太合适的方式是没有意义的。
-
致Patrick Q.....你会建议我做什么来让按钮检查每个人而不使用fp/fopen/fgets/timetracker.txt方式?
-
我想保留与 div 和表单相呼应的 while 语句
-
我建议您按照您已经说过“计划”这样做的方式进行操作。将用户及其状态存储在数据库中,然后通过用户 ID 查找状态。
-
我的用户存储在数据库中...唯一没有存储的是说明他们是否已签入或签出的部分...。我正在尝试找到一种方法将图片上传到网页后将它们分开...
标签: php mysql checkin time-and-attendance