好的..我被困了。我在这里尝试了几个主题的代码,但仍然不适合我,所以我需要一些帮助。
我想记录用户是否第一次登录,并希望在用户返回时更新相同的记录。更新部分可以工作,但是当我的函数第一次执行时,它会插入一个总空白记录和一个记录,其中包含变量提供的所有数据。对于第一个vist,last_login列为NULL,并且在上次登录时很好地更新。
但我无法弄清楚为什么第一次登录会创建这些额外的记录。
这是我创建的功能代码:
function log_users($userId, $username, $achternaam, $district, $gemeente, $ipaddress)
{
global $connection;
$sql = mysqli_query($connection, "SELECT * FROM logfile_sap WHERE user_id = '{$userId}'");
if(mysqli_num_rows($sql) > 0)
{
$sql = "UPDATE logfile_sap SET last_login = NOW() WHERE user_id = '{$userId}'";
$query = mysqli_query($connection, $sql);
}
else
{
$sql = "INSERT INTO logfile_sap
(user_id, username, achternaam, district, gemeente, ipaddress, first_login)
VALUES
('{$userId}', '{$username}', '{$achternaam}', '{$district}', '{$gemeente}', '{$ipaddress}', NOW())";
$query = mysqli_query($connection, $sql);
}
}
因此,您可以看到我正在检查用户是否已经存在于logfile_sap表中,如果它不存在,我想插入用户(可以使用额外的行),如果用户已经存在,则记录是更新。
这是我在页面顶部使用的代码,需要检查并在表格中添加数据:
<?php log_users($userId, $username, $achternaam, $district, $gemeente, $ipaddress); ?>
我希望有些人比我有更明智的想法; - )
++++++++++++++++++++++++++++++++++++++++++++
问题解决了。我有顿悟!!!
我调用了我的函数OUTSIDE我的if(isset($ _ SESSION [&#39; id&#39;]))语句。
我把它放在if(isset($ _ SESSION [&#39; id&#39;]))语句之后,表中只插入了一条记录!!
答案 0 :(得分:0)
问题解决了。我有一个顿悟!
我在我的if(isset($_SESSION['id']))
语句中调用了我的函数。
我把它放在if(isset($_SESSION['id']))
语句后面,表中只插入了一条记录!!