我的项目需要帮助。我有www页面,可以在哪里创建用户注册,用户可以登录此页面。我还有Arduino项目的页面(Arduino有带按钮的表单,它包含在带iframe功能的页面中)。带有项目的此页面受条件保护 - 用户必须记录,并且只有一个用户可以一次使用此页面。用户使用登录表单后,我在Session中的名字就像这段代码:
$_SESSION['log_user'] = $user_name;
$escape = mysqli_real_escape_string($conn,$user_name);
我在主页索引上使用此会话,用于自动注销和监视谁被记录。
问题是:如果用户运行Arduino项目,请按下按钮:发送!所有测量值都写入数据库。我编辑了脚本以将日期写入数据库。但我需要知道,谁保存数据。问题是该脚本甚至不想写入会话中存储的登录用户的名称。存储所有数据,只有名称为空。但是当我登录www页面并手动运行此脚本时,echo会显示来自会话的正确用户,甚至也会保存日期(当然没有项目的值)。
那么当用户从项目中按下按钮时,请问有什么可能无法正常工作?名称再次为空。我不知道如何用Arduino值写这些信息。 (顺便说一句,为了发送Arduino数据,你使用的是get方法。)我必须以某种方式检查是否存在会话并使用某些条件来编写它?
<?php
session_start();
$spojeni = mysqli_connect("*****","*****","*****","****");
mysqli_set_charset($conn,"utf8");
$date = date('Y-m-d H:i:s');
$_SESSION['log_user'] = $user_name;
$escape = mysqli_real_escape_string($conn,$user_name);
if (mysqli_connect_errno())
{echo "Connection failed !" . mysqli_connect_error();}
$pwm = ($_GET["pwm"]);
$av = ($_GET["av"]);
$bv = ($_GET["bv"]);
$write = mysqli_query($conn,"INSERT INTO `optoclen` (`PWM`,`MB1`,`MB2`,`User`, `Date`)
VALUES ('$pwm','$av','$bv','$escape','$date')") or die (mysqli_error($conn));
?>