首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP变量问题

PHP变量问题
EN

Stack Overflow用户
提问于 2011-09-02 13:24:35
回答 5查看 88关注 0票数 0

这是我的密码

代码语言:javascript
运行
复制
echo ("<br/>");
if ($APIkbpersec < 30) {
    global $SpeedTest;
    echo ("Slow speed");
    $SpeedTest--;
}
if ($APIkbpersec > 30) {
    global $SpeedTest;
    echo ("High speed");
    $SpeedTest++;
}
echo $SpeedTest;

这段代码所在的页面每秒钟都会用AJAX重新加载,$APIkbpersec在40到0之间变化。

我基本上希望有一个变量($SpeedTest)增加或减少,这取决于$APIkbpersec是什么。

  • 如果$APIkbpersec小于30,我希望$SpeedTest在每次刷新时减少1,最低为0。
  • 如果$APIkbpersec大于30,我希望$SpeedTest从每次刷新1增加到最多10。

问题是,我不知道is....Im当前试图将$SpeedTest写到txt文件中的是什么,所以我可以在每次刷新时读取它,在每次刷新时进行数学运算,而不需要在PHP中重置它。

如能提供任何帮助,将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-02 13:27:27

因为HTTP请求是无状态的,所以正在重置它。每个AJAX调用都是PHP脚本的一个孤立事件。要使变量持久,必须将其存储在$_SESSION中。

您还没有显示用于将其写入文本文件的代码,但除非您需要它在用户会话之后持久化,否则这是错误的方法。最好使用$_SESSION为您服务。如果您确实需要长期持久化,则应该使用数据库来代替。

代码语言:javascript
运行
复制
session_start();

// Initialize the variable if it doesn't exist yet
if (!isset($_SESSION['SpeedTest'])) {
  $_SESSION['SpeedTest'] = 0;
}

echo ("<br/>");
if ($APIkbpersec < 30) {
  echo ("Slow speed");
  $_SESSION['SpeedTest']--;
}
if ($APIkbpersec > 30) {
  echo ("High speed");
  $_SESSION['SpeedTest']++;
}
echo $_SESSION['SpeedTest'];
票数 3
EN

Stack Overflow用户

发布于 2011-09-02 13:27:01

为此,您应该使用$_SESSION

有关解释,请参见这里,但基本上需要执行以下操作:

代码语言:javascript
运行
复制
session_start();
$SpeedTest = isset($_SESSION['speedTest']) ? $_SESSION['speedTest'] : 0;

if ($APIkbpersec < 30)
{
    echo ("Slow speed");
    $SpeedTest--;
}

if ($APIkbpersec > 30)
{
    echo ("High speed");
    $SpeedTest++;
}
$_SESSION['speedTest'] = $SpeedTest;

echo $SpeedTest;
票数 2
EN

Stack Overflow用户

发布于 2011-09-02 13:28:31

以下任一项:

  • 在响应中返回$SpeedTest并来回传递它。
  • 使用某种持久性存储,如cookie或PHP会话。

两者都很容易实现。如果您需要持久化存储,我建议您使用cookie,因为JS和PHP都可以共享它。会议,虽然显然是候选人,但在这种情况下有点过火-- IMO。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7284075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档