从文本文件中显示先前登录的时间戳

3
我被学院工作人员要求做这个,请帮我一下!我有一个带有文本框的 PHP 文件,应该在其中输入登录 ID 并按下登录按钮。一旦按下此按钮,登录 ID 和时间戳将存储在 txt 文件中。下次使用相同的登录 ID 时,时间戳将被覆盖。我已经成功完成了这部分。现在,我想在覆盖之前显示时间戳。这类似于 WhatsApp 的上次查看时间。如何显示它?
以下是我的代码:
<html>
<head><title>Login Portal</title></head>
<body><center>
<h1>TPF EMPLOYEE LOGIN</h1><hr><br><br>
<?php
session_start();
if(isset($_POST['submit']))
    {
    $myfile = file_get_contents('data.txt');
    $_SESSION['name']=$_POST['id'];
    date_default_timezone_set('Asia/Calcutta');
    $date = date('Y-m-d H:i:s');
    $txt=$_SESSION['name'].",".$date.",\n";
    $name = $_SESSION['name'];
    if(preg_match("/$name/", $myfile))
    {
        $results = preg_replace("/$name.*\,/", $txt, $myfile);
        file_put_contents('data.txt', $results);
    }
    else
        {
            file_put_contents('data.txt', $txt, FILE_APPEND);
        }
    }
    else
    {
    echo "<form name='login' method='post'>";
    echo "Enter your login id : <input type='text' name='id' id='id' /><br><br>";
    echo "<input type='submit' name='submit' value='Login' />";
    echo "</form>";
    }
?>
</center>
</body>
</html>

这是我的文本文件的内容:
a,2014-10-05 19:00:40,

b,2014-10-05 19:00:31,

使用逗号作为名称标识符,在覆盖之前如何显示先前的时间戳?

为什么不直接利用MySQL表来实现这个功能呢? - Kevin
1个回答

0
更改:
if(preg_match("/$name/", $myfile))
{

要包含$matches并修改正则表达式,然后使用$matches数组:

if(preg_match("/$name\,(.*),/", $myfile, $matches))
{       
   echo 'Previous Login: ' . $matches[1];

示例:http://ideone.com/1diNNd

提示:使用数据库,确保 $name 是唯一的...


使用数据库我知道如何轻松地完成!这是我的员工分配给我的问题,所以必须按照他们的要求去做! - Yeshwanth V Shenoy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接