问题标签 [superglobals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
63 浏览

php - 创建自己的类似 $_SESSION 的变量?

这是我有点挑剔,但我真的很喜欢它的易用性$_SESSION。所以我想知道是否有办法让我在数据库中的行像这样工作。对我来说创建一个超全局很容易,例如$_DATA['address']返回保存在当前登录用户的数据库中的地址。明显的问题是,当我向它写入内容时,$_DATA['whatever']它会自动写入数据库。这在我习惯的 C# 中会很容易,但在 PHP 中似乎没有正常的获取/设置功能。我有什么办法可以完成我希望做的事情吗?

0 投票
2 回答
84 浏览

php - PHP 中 $_POST 变量的行为

这可能是一个简单的问题:PHP 的$_POST超全局变量如何与 PHP 在一个会话中跨多个文件运行?

PHP.net 上的手册说明了这一点:"This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script."

这是我的具体情况:我有一个主要包含HTML多个表单的页面 - 使用 jQuery 处理。然后我有一个调用我的PHP班级的“中间”页面。这两个文件继续用户的当前会话。显然,$_POST被广泛使用。

我很好奇$_POST每次提交表单时是否会“刷新”自身,或者是否会在数组中添加新的标识符。

例如,

表格提交一 =>$_POST = $POST['firstname'], $POST['lastname']... 表格提交二 =>$_POST = $POST['firstname'], $POST['lastname']...+ $_POST['Id'], $_POST['whatever']...

任何输入表示赞赏。

0 投票
1 回答
1924 浏览

php - 全局变量未在 PHP 中的静态类方法内更新

我对 PHP 中的全局变量有疑问。我的问题是我在静态类方法内更改的全局变量没有在方法外更新。

我已经包含了代码:

测试.php

appsettings.class.php

$_APP 的旧值即将到来,而不是 initApplication 中的新值。谁能指出我做错了什么?

提前致谢,

0 投票
1 回答
708 浏览

get - PHP $_GET['X'] 默认为 $X

我一直在自己学习 PHP,并且我使用了一个 Web 主机帐户来测试我的脚本,默认情况下它们在其中启用了 register_globals。我知道这不安全,但在测试示例代码时我没有打扰。

现在,我正在为我所属的一个非营利组织开发一个小型实时站点,他们使用的主机默认情况下关闭了 register_globals,这是应该的。

所以,现在我的问题。我已经习惯了这种工作方式(使用 register_globals ):

假设我们正在加载 index.php?pID=1。index.php 的代码将包含这一行:

请注意,我使用了 $pID 而不是 $_GET['pID'] 并且我没有在代码中的任何地方将 $_GET['pID'] 分配给 $pID。无论如何,这工作得很好。所以(当然)我想知道当我在我的 orgs 主机上使用相同的代码时,这是否是因为 register_globals 关闭而突然不起作用?

如果是这样,是否有一种解决方法可以再次使超全局变量变得神奇,或者我是否必须手动将所有 $_GET 变量分配给我自己的全局变量?

0 投票
2 回答
1241 浏览

php - 在 PHP 中定义自定义超全局数组

如何在 PHP 中定义超全局数组?

我知道没有办法做到这一点。但是,我认为可能有一些“大脑”知道解决方法。具体来说,我希望在每个具有相同数据的 .php 文件上都有一个数组。我也想像这样访问它:

或者

对我来说重要的是我不想有一个静态类,我必须像这样访问我的成员:

现在我有这样的东西,但我想它不是很有效:

要访问它,我必须反序列化它。将数据存储在变量中,然后我可以使用索引运算符。

必须有一种方法可以跳过每个文件中的整个 foreach 内容。

编辑 =========================================

好的,所以现在我有了这个小解决方法,它应该比包含一个全新的文件更有效。但是我仍在寻找更好的解决方案:)

我只是把上面的代码放在一个全局函数中:

我要做的就是将这行代码放在每个 .php 文件中:

php.ini 的问题在于与提供“网络托管”的公司的兼容性。他们经常为您提供 Apache、PHP、MySQL 和 Perl(通常:LAMP)的预定义安装,并且不允许您编辑 php.ini 文件。

0 投票
3 回答
1333 浏览

python - 如何防止对 USB 设备等资源的并发访问?

我希望能够从多个应用程序中使用 USB 设备(例如,我运行一个 Flask Web 应用程序),确保一次只有一个使用它。

就我而言,我使用继电器来打开/关闭一扇门。门大约需要 20 秒才能打开。在此期间,不应激活继电器,因为这会将门锁在中间。

提前致谢!

0 投票
1 回答
327 浏览

php - 为什么 PHP 不允许在 $_SESSION 中使用十进制值作为根键?

为什么 PHP 不允许在 $_SESSION 中使用十进制值作为根键?

例如...

......不起作用。

0 投票
2 回答
651 浏览

php - PHP $_POST 数组中的文本区域截止

我在网络表单上的文本区域 [使用 POST 方法] 在 1024 个字符处被截断

该字段没有设置最大长度属性,允许输入超过 1024 个字符。但是,当我在 Eclipse 中查看 $_POST 数组并尝试插入数据库时​​,我可以看到它不是用户输入的全部。

这个问题的根本原因是什么?是否存在我不知道的固有限制?我似乎找不到有关此问题的任何文档。任何意见是极大的赞赏。

0 投票
0 回答
457 浏览

php - 难以创建 mysql 搜索查询并显示结果

好的-我已经为这个问题纠结了几天了。我搜索了 google 和 stackoverflow 以及其他地方,我尝试了很多方法来尝试完成这项工作,但到目前为止还没有运气。我将此归因于我对 php 和 mysql 的菜鸟,因为我可能放错了 } 或在代码中做错了事。

场景:我正在尝试使用表单来生成搜索查询并显示结果。这是试图搜索我的单表数据库。此外,这一切都在一个封闭的网络上,所以我现在并不担心注入/安全漏洞。

当我尝试编写搜索功能并了解如何不能再使用 $_POST 时,问题就出现了,因为它是一个超全局的。

现在,当我尝试使用搜索表单时,它不会产生任何错误,所以我真的很困惑如何让它工作。

编辑:我从用于创建记录的表单中回收了很多代码。希望这不是一个错误。

这是代码:

这是表格:

提前感谢您的帮助。这个社区一直是一个很好的资源。然而,这实际上是我第一次提出问题 :)

0 投票
1 回答
95 浏览

php - 我想将帖子变量保存在一个数组中,我想在提交后使用这些值

如您所见,我想将我的帖子变量存储到一个数组中,我可以在提交后使用它。所以当我第一次提交时,我也看到了 1 个 post 变量,当我第二次提交时,我想在一个数组中看到 2 个 post 变量,依此类推。