我尝试制作一个登陆页面:如果有人读取了我的QR码(例如:some.com/qr.php?id=1),则该php将增加sql中记录的值。奇怪的是,当我通过输入URL在PC浏览器中运行php时,它会根据需要将字段增加1。但是当我的手机读取然后打开QR码时,它会增加2。您对这个问题有任何想法吗?
$id=$_GET['id'];
$sql = "SELECT url, name
FROM qrcode_pagelist
WHERE id = '$id' ";
$sourceurlidlist = mysql_query($sql, $db);
while ($row = mysql_fetch_assoc($sourceurlidlist)) {
$sourceurl=$row['url']; $name=$row['name'];
}
$vandatum=0;
$counter=0;
$sql = "SELECT date,counter
FROM qrcode_visitorcount
WHERE name='$name'";
$datelist = mysql_query($sql, $db);
while ($sor = mysql_fetch_array($datelist))
{
if (date("Y-M") == $sor['date'])
{
$vandatum = $vandatum+1;
$date = $sor['date'];
$counter = $sor['counter'];
$counter++;
}
}
if ($vandatum>0)
{
$sql = "UPDATE qrcode_visitorcount
SET counter = $counter
WHERE date = '".$date."' AND name='$name'";
$insert = mysql_query($sql, $db);
}
else
{
$sql = "INSERT INTO qrcode_visitorcount (name, date, counter)
VALUES ('".$name."', '".date('Y-M')."', 1)";
$insert = mysql_query($sql, $db);
}
header('Location: '.$sourceurl);
die();
您可能会发现电话实际上两次提取了该页面。尝试并使用会话来检查页面是否已被选中(例如,只需设置一个时间值)。
如果设置了该值,您将知道您的手机两次点击该页面。
编辑
...
session_start();
if (!isset($_SESSION['check']))
{
$_SESSION['check'] = time();
// add all the code above
}
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句