问题标签 [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 投票
3 回答
3935 浏览

iphone - Objective-C 和 iOS 中的超全局变量

我正在尝试在我的应用程序中添加某种超全局。它只会存储一个小整数,但我需要它可以从我的应用程序的任何地方访问。

我知道您可以为此使用委托,但如果您可以在您的应用程序中设置一个超全局变量(当然它必须是可更改的),这不是更容易吗?

那么,在您的 iOS 应用程序中创建超全局对象的最佳方法是什么?

哦,我可能应该提到我希望我的 App Delegate “拥有”该变量。

0 投票
2 回答
404 浏览

php - 从 php $_GET 变量转换为代码点火器

我正在学习使用 CodeIgniter 框架。我正在形成一个获取变量确定要包含在 index.php 中的正文文件的世界。

因此,对于 MVC 样式编码,我不确定如何拥有一个骨架视图,而后续视图只是页面的主体。

有任何想法吗?

0 投票
2 回答
15038 浏览

php - $_SERVER['HTTP_HOST'] 也包含端口号 =/

我不知道也许这是一个错误。

我的服务器上有 2 个虚拟主机。

virtualhost1.com virtualhost2.com

如果我使用端口 80 (virtualhost1.com:80) 打开 virtualhost1.com

但是如果我打开 virtualhost2.com:80

我能知道为什么吗?

0 投票
5 回答
1066 浏览

php - 如果记录了这种行为,取消设置 PHP 超级全局变量是否安全?

我正在构建一个 PHP 框架,其中我有一个解析 url 以及$_GET,$_POST$_FILEsuperglobals 的请求对象。

我想鼓励安全的网络习惯,所以我保护数据免受 SQL 注入等。

为了确保该框架的用户通过请求对象访问安全、干净的数据,我计划unset($_GET, $_POST, $_REQUEST);在解析这些变量后使用。

我将在方法注释中记录这一点,并在框架文档中解释这种情况正在发生。

我的问题是:这会是可取的行为吗?有哪些我没有预见到的潜在陷阱?

0 投票
1 回答
182 浏览

php - 我可以任意设置 $_FILE 全局吗

我有一个函数,不是由我编写的,它使用超级全局 $_FILE['picture']['temp_name'] 创建图像文件和缩略图。但是,当用户不上传图像时,不会创建图像或缩略图,并且使用这些图像进行显示的另一个应用程序会变得混乱。

所以,当用户不上传图片时,我想任意设置 $_FILE['picture']['temp_name'] 为存储在服务器中的图片,并通过 $_FILE['picture']['temp_name' ] 到我第一次提到的功能。

我的问题是,我可以任意设置超全局 $_FILE['picture']['temp_name'] = file_path/preset_image.jpg 吗?

谢谢,

0 投票
4 回答
5258 浏览

php - 在变量变量中使用 $_SERVER 时出错 (PHP)

我试图通过 GET 参数获取超全局变量的名称。我被告知在 get 请求中只传递_VAR_NAME(不带$),所以在程序中我必须通过变量 variable: 来访问它$$_GET['parameter_name']

一切都很顺利,除了$_SERVER. 为了尝试出了什么问题,我只是做了一个小的 php 脚本来测试发生了什么。这是代码:

_SERVER版本不工作有什么原因吗?我收到以下错误:

注意:未定义的变量:_SERVER在...

0 投票
3 回答
333 浏览

php - $_POST 超全局不通过 (1and1)

我刚刚制作了一个基本的表单页面,通过 Aptana、WAMP 和一个基本的 1and1 托管页面,我无法让表单字段通过 $_POST 超全局。

这是 index.html 页面:

传递给keywords.php

亲爱的主,我做错了什么。要温柔。PHP 5.3.4

0 投票
1 回答
760 浏览

php - PHP:$_SESSION 永远不会被设置,但 $_POST 是?

[@downvote 和白痴言论,殴打别人并不酷。在提出问题之前,我花了整整 3 天时间重新检查了文档和课程笔记 - . 像詹姆斯所做的那样,关闭它是为了防止一群白痴发表无用且实际上不正确的评论。感谢 Charles 和 Brent B 的帮助。事实证明这不是 Safari 问题,所以我删除了这些标签。]


$_SESSION 未在 Safari 中设置,因此我的多页表单中断。$_POST, $_REQUEST 确实被设置(但显然在后续页面上消失)。版本是 PHP:5.3.1,Safari 5。

帮助!以下任何一项都不是问题,我检查了所有内容,并阅读了所有其他相关问题:

  • session_start() 有效。SID/PHPSESSID 跨页面保留。
  • session.use_cookies = 1,session.use_only_cookies = 1
  • 我检查了php.ini并认为它没问题
  • 我确实将 Safari 配置为接受所有 cookie(现在)。没有不同。
  • 我可以手动设置$_SESSION['debug']并且确实跨页面保留(并且会话文件被正确写出)。除非我这样做,否则$_SESSION永远不会被定义。

我没有时间调试这种废话,那么以下最后一分钟的解决方法中哪个最不难看?(这是一个编程作业,不是生产代码)根据课程说明,$_SESSION 应该合并 $_POST、$_REQUEST、$_GET、会话和全局变量对吗?

  1. 手动执行$_SESSION = array_merge($_SESSION,$_POST); [这有效]
  2. 使用隐藏表单在后续表单上重新发布$_POST
  3. 其他?

(更广泛地说,是否应该简单地认为 PHP 在 Safari (5) 上被破坏了?)

0 投票
2 回答
340 浏览

php - php 解释器和超全局变量

首先,我是一名法国学生,请原谅我的英语水平不佳。

我们目前正在开发一个 Web 服务器 (C++),我必须开发 CGI 执行部分,更准确地说:PHP CGI 部分。

当用户询问我们服务器上的 .php 页面时,我们 fork/pipe 并调用 /usr/bin/php 解释器。例如 :

$ /usr/bin/php 索引.php

现在,我们可以将结果保存在缓冲区中(生成的 index.php 的 html 代码),我可以将此内容发送给客户端。它适用于没有任何变量的简单脚本。

然而,许多 php 脚本使用一些超全局变量,如 $_GET 和 $_POST。我的问题是:我怎样才能给 php 解释器这个论点?

示例:如何设置此 $_POST 变量以将“Hello world”保存在我们的缓冲区中?

感谢您未来的回复。

亲切地

0 投票
7 回答
7636 浏览

php - 我应该使用 PHP 超全局变量还是过滤输入来检索 $_GET 数据?

我真的很讨厌全局变量——也许它是我心中的 C# 程序员,但是当我在 PHP 中工作时,我每次不得不做这样的事情时都会咬紧牙关:

是的,我把它过分简化了,是的,我正确地清理了所有这些。事实上,对于我构建的框架,所有超全局变量几乎在执行开始时就被抓取,并且从那里开始依赖注入。

我在 PHP 手册中遇到过这个函数(你真的每天都能学到新东西):filter_input_array()。

所以现在,从技术上讲,我可以这样做,而不是从 GET 超全局中获取所有内容:

.... 等等,以及其他类似 POST、REQUEST 等。我的问题是:我应该使用 filter_input_array 来避免超全局变量的祸害,还是有一些理由坚持使用它们而忘记使用filter_input 函数?其他人对此有何经验?

编辑:我忘了一件事 - filter_input 函数对您对超全局变量所做的任何脚本级别的修改都视而不见,所以如果我这样做:稍后再$_GET['cheese'] = 'puff';尝试将返回 null。filter_input(INPUT_GET, 'cheese');这很好,因为我依赖注入所有东西,但如果他们不知道,它可能会在以后让某人措手不及。