PHP选择-使用浏览器和QR码读取器选择不同的值

PHP选择-使用浏览器和QR码读取器选择不同的值,php,mysql,qr-code,Php,Mysql,Qr Code,我尝试创建一个登录页:如果有人读了我的QR码(例如:some.com/QR.php?id=1),这个php会在sql中增加记录的值。奇怪的是,当我通过键入URL从PC的浏览器运行php时,它会根据我的需要将我的字段增加1。但当我的手机读取并打开二维码时,它会增加2。你知道这个问题吗 $id=$_GET['id']; $sql = "SELECT url, name FROM qrcode_pagelist WHERE id = '$id' "; $sourc

我尝试创建一个登录页:如果有人读了我的QR码(例如:some.com/QR.php?id=1),这个php会在sql中增加记录的值。奇怪的是,当我通过键入URL从PC的浏览器运行php时,它会根据我的需要将我的字段增加1。但当我的手机读取并打开二维码时,它会增加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
}

请举个例子好吗?谢谢!我不知道为什么,但手机真的能拍两次。这可能取决于二维码阅读器软件——使用另一部手机和阅读器,先取两次,然后取一次。有趣。但很高兴知道代码是正确的。