POST/GET 变量命名规则?

2024-01-13

在命名表单中的 POST 变量或查询字符串中的 GET 变量时,是否需要遵循任何规则?

Thanks-


从字面上回答这个问题,我所知道的命名确实没有“规则”$_POST and $_GETphp.ini 中的数组键它是一个像其他数组一样的数组。看一眼键盘上的这个工作示例 http://codepad.org/rPv4KxG1:

<?php
$_POST['♠♣♥♦'] = 'value1';
$_POST['\'\'\'\''] = 'value2';
$_POST['<?php echo "Hello World"; ?>'] = 'value3';
$_POST['     '] = 'value4';
$_POST[''] = 'value5';
$_POST['@#$%^&*()'] = 'value6';

print_r($_POST);

对于表单输入名称,它们只需是合法的 HTML“名称”属性(见下文)。然而,在实践中,许多不寻常的字符实际上会起作用。请记住,这并不意味着这是一个好主意。不同的服务器(可能还有不同的浏览器)对于某些字符(例如空格)的行为会有所不同。

As Tadeck https://stackoverflow.com/questions/5943957/rules-for-naming-post-get-variables/5944013#5944013已经注意到,读取时重复的键将被最后一个键覆盖,但使用brackets[]将在客户端通过将变量转换为数组来解决这个问题。

至于命名约定和最佳实践,没有太多空间。建议您坚持使用 A-Z a-z 0-9、破折号和下划线。虽然Ajay https://stackoverflow.com/questions/5943957/rules-for-naming-post-get-variables/5944174#5944174为了方便起见,建议使用数据库列名称作为表单输入名称,许多人会告诉您,向公众公开有关数据库的信息是不好的做法。我认为倒λ https://stackoverflow.com/questions/5943957/rules-for-naming-post-get-variables/5947488#5947488这里可能有最接近问题的答案,并且Tadeck https://stackoverflow.com/questions/5943957/rules-for-naming-post-get-variables/5944013#5944013就最佳实践而言,有最接近的答案。

关于 HTML“名称”属性:http://www.w3.org/TR/html4/types.html#h-6.2 http://www.w3.org/TR/html4/types.html#h-6.2

ID and NAME标记必须以字母 ([A-Za-z]) 开头,后面可以跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_")、冒号 ( “:”)和句点(“.”)。

也许有人可以启发我,上述文件是规则还是建议,我绝不是这个问题的专家。在实践中,我似乎对违反其中一些规则没有任何问题。我也可以将这个示例文档验证为严格的 XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<div><form action="" method="post">
<div>
<input name="♠♣♥♦" />
<input name="''''" />
<input name=")(&amp;#$)%#$%" />
</div>
</form>
</div>
</body>
</html>

将其粘贴到验证者 http://validator.w3.org/#validate_by_input, 会过去的。


要添加的另一个最佳实践是:使您的表单输入名称或 get/post 键有意义,当然就像所有其他命名约定一样。不要使用input1 and $_GET['param']。使用描述含义的名称,例如last_name or $_GET['sort_order'].

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

POST/GET 变量命名规则? 的相关文章

  • HTML5旋转动画——如何显示“硬币的另一面”?

    考虑到这个 JSFiddle 旋转示例 https jsfiddle net 194288aw HTML div class container div class coin div class face heads Hey div div
  • JavaScript 表单提交 - 确认或取消提交对话框

    对于带有询问字段是否填写正确的警报的简单表单 我需要一个执行此操作的函数 单击按钮时显示警告框 有两个选项 如果单击 确定 则提交表单 如果单击 取消 警报框将关闭 并且可以调整并重新提交表单 我认为 JavaScript 确认可以工作 但
  • 使用 Javascript 在单独的表单页面上使用图像文件名更新隐藏的表单字段

    我有一个定制的 Djangowizard form html它在我的调查的三个不同页面上向用户显示了 3 张不同的图像 我正在尝试使用下面的脚本来更新 3 个不同页面上的 3 个隐藏表单字段 其内容为value display image
  • 是否可以将CSS应用于半个字符?

    我在寻找什么 一种打造风格的方法HALF一个角色的 在这种情况下 一半的字母是透明的 我目前搜索和尝试过的内容 没有运气 设置半个字符 字母样式的方法 使用 CSS 或 JavaScript 设置字符的一部分样式 将 CSS 应用于字符的
  • 外部依赖错误的 HTTP 状态代码

    当服务器与外部 API 通信出现问题时 返回的正确 HTTP 状态代码是什么 假设客户端向我的服务器 A 发送有效请求 然后 A 查询服务器 B 的 API 以便执行某些操作 然而 B 的 API 当前抛出 500 错误或因某种原因无法访问
  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • 隐藏嵌入的 pdf 周围的工具栏?

    虽然我认为答案可能在这另一个问题 https stackoverflow com questions 770949 how to disable the default toolbar of pdf page关于pdf规范的回答 是否可以不
  • ASP.Net 控件的 InnerHTML 和 InnerText 属性之间的区别?

    例如 在使用 ASP NET 控件时 h1 text h1 如果我们想更改标题的文本 我们可以通过两个属性来完成InnerHTML and InnerText 我想知道这两个属性之间的基本区别是什么 InnerHtml让您直接输入 HTML
  • 将单选按钮放置在图像上

    我试图在图像上的确切位置放置一些单选按钮 我已将两者都放在 Div 中 但我不知道下一步该怎么做 这是我想要放置单选按钮的位置 红色圆圈 到目前为止 这是我的代码 center display block margin left auto
  • Play框架2.0 Form.bindFromRequest().get()返回空模型

    我需要从套接字通信接收相同的 POST 数据 这是发送 POST 并接收响应的代码 并且似乎工作正常 String data t URLEncoder encode Title UTF 8 u URLEncoder encode http
  • 为什么 Flexbox 会拉伸我的图像而不是保留纵横比?

    Flexbox 具有这种行为 它将图像拉伸到其自然高度 换句话说 如果我有一个带有子图像的 Flexbox 容器 并且我调整了该图像的宽度 则高度根本不会调整大小 并且图像会被拉伸 div display flex flex wrap wr
  • HTML标签阻止HTML标签被执行?

    我想问超级用户的基本问题 但我认为这是一个编程问题 我刚刚开始学习 HTML 所以请耐心等待 如何防止程序解释 HTML 标签 语法 例如 我想写一个这样的闪存卡 html 代码为 lt is lt 我想要一个适用于任何或大多数语法的解决方
  • 如何用Python抓取动态网页

    我正在努力做什么 抓取下面的网页以获取二手车数据 Issue 刮掉整个页面 在上面的 url 中 仅显示前 30 项 这些可以通过我在下面编写的代码来抓取 其他页面的链接显示为 1 2 3 但链接地址似乎是用 Javascript 编写的
  • 将 html 转换为 pdf 时防止表格单元格跨页破坏

    使用 Google Apps 脚本 我有一个 html 模板 我填写该模板 然后以 pdf 形式发送 通过传真和 或电子邮件 该模板包括一个带有问题 答案的两列表格 如果行数足够多 表格会在pdf中跨页分页 并且分页符通常发生在单元格的中间
  • 如何修复网站 iframe 错误?

    当我访问此网址时 警告 推荐使用一些广告拦截器 网页链接加载良好 没有错误 但是 当我尝试通过加载同一页面时iframe在我的html代码中 出现错误 我的html代码
  • 在 Javascript 中动态添加事件处理程序

    我在使用 Javascript 时遇到了一个奇怪的问题 我得到的是一个特定格式的字符串 我将尝试用它创建一个表 该表每行只有一个单元格 字符串的格式为 每个单元格 行 需要显示内容 将传递给的参数onmouseover当用户将鼠标移动到显示
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • 如何仅使用CSS设置某个角的边框半径

    如上所示 我可以只给顶部部分而不给底部提供半径 或者有时给底部而不是顶部提供半径吗 有没有办法只给一个角提供边界半径 Like border radius top left top right bottom right bottom lef
  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 如何解决此错误:属性 rel 的原始源值错误

    我正在尝试使用 w3c 验证我的网站 但出现错误 Bad value original source for attribute rel on element link The string original source is not a

随机推荐

  • 当需要日志记录时,您会考虑哪种设计模式?

    我正在开发的应用程序需要将操作 执行该操作的用户以及操作时间记录到数据库中 哪种设计模式最流行 最适合日志记录 我在想命令模式需要当前用户和操作 执行操作并写入日志 你怎么认为 我可以考虑其他替代方案吗 谢谢 您可以使用AOP http e
  • 如何删除Jenkins下的View而不影响现有作业

    我想删除Jenkins下的Views而不影响视图下的Jobs 我之所以问这个问题 是因为即使以管理员身份删除它后 我也无法输入相同的视图名称 我检查了 Jenkins 文件夹下的配置文件并尝试编辑视图名称 但这不起作用 我需要确认以下脚本是
  • 图钉调整绑定缩放级别大小

    我将 WinRT 与 bing 地图结合使用 并尝试在缩放地图时设置 以编程方式 图钉的 RenderTransform 值 我试过这个Solution http social msdn microsoft com Forums en US
  • Django - 如何在不修改的情况下扩展第 3 方模型

    我想向数据库表添加一列 但我不想修改第 3 方模块 以防我将来需要 决定升级模块 有没有办法可以在我的代码中添加此字段 以便在新版本中我不必手动添加该字段 您可以使用 ModelName add to class 或 contribute
  • pip3 ImportError:无法导入名称“IncompleteRead”

    通过安装模块时遇到问题pip3 尝试了 2014 年 12 月以来投票最高的帖子中的一些建议 但仍然得到以下结果 sudo pip3 install send2trash Traceback most recent call last Fi
  • 使用 GAE 限制对静态文件的访问

    我有一个静态文件 我不想公开该文件 有没有办法限制 app yaml 的访问 使其只能由自己的域加载 基于 web2py 的解决方案也很受欢迎 因为我在 GAE 之上使用它 Thanks 您可以使用 登录 必需 来限制对其的访问 以要求使用
  • RuntimeError: 维度超出范围(预期在 [-1, 0] 范围内,但得到 1)

    我使用 Pytorch Unet 模型 将图像作为输入 同时将标签作为输入图像掩码 并在其上训练数据集 我从其他地方获得的 Unet 模型 我使用交叉熵损失作为损失函数 但我得到了这个维度超出范围的错误 RuntimeError Trace
  • 为什么无法从 Excel 互操作中设置强制转换对象?

    尝试获取对工作表的引用 使用 Excel 互操作 Excel Application xl new Excel ApplicationClass Excel Workbooks xlWorkBooks xl Workbooks Excel
  • Cytoscape.js - 将核心背景设置为深色?

    我正在尝试将边缘渲染为白色 因此希望在 cytoscape js 视口中使用黑色背景 我尝试修改 div 上的 cssid cy 但这似乎被覆盖了 在文档中 我只能找到在导出到图像时设置背景颜色的功能 例如cy jpg 但这不是我想要的 我
  • (未使用的)GLSL 制服/输入/输出是否有助于调节压力?

    我不知道制服在记忆中是如何表示的 制服似乎会占用宝贵的寄存器空间 但它们最终会传入 通过 传出到全局内存中 对吧 制服未使用后情况会发生变化吗 编译器可以优化它们吗 在这种情况下 我作为绑定位置变得无效 1 所以我假设是的 制服以 GLSL
  • gnu ld 链接整个目标文件还是仅链接所需的函数?

    我们有一个库和一个可执行文件 那就是静态地链接到库 我们希望最小化最终可执行文件的程序空间 根据 avr libc 的文档 链接器链接该函数所在的整个对象模块 http www nongnu org avr libc user manual
  • 提高 mysql LOAD DATA / mysqlimport 的性能?

    我正在批处理CSV15GB 30mio 行 成mysql 8数据库 问题 任务大约需要 20 分钟 吞吐量约为 15 20 MB s 而硬盘能够以 150 MB s 的速度传输文件 我有一个 20GB 的 RAM 磁盘 用于保存我的 csv
  • Automake - 安装版本“automake-1.14.1”时遇到困难

    我在 Rapbian 2014 09 09 wheezy raspbian 发行版上安装 automake 1 14 1 时遇到问题 我写sh configure然后我写了make然后终端写信给我 make CDPATH ZSH VERSI
  • 删除 Unix 文件中的 ^@ 字符

    我有一个关于删除不可见字符的问题 这些字符只有当我们尝试使用 vi 命令查看文件时才能看到 我们有一个由 Datastage 应用程序生成的文件 源是 DB2 表 gt 目标是 txt 文件 文件包含不同数据类型的数据 我遇到的问题是只有
  • 更改 Java 临时 Internet 文件存储位置

    我正在尝试更改 Java Web Start 的存储位置 我读到可以通过java控制面板更改位置 我到达那里 我可以看到 临时互联网文件 的路径 但 更改 按钮是灰色的 为什么我不能改变这条路径 我需要将其更改为另一个硬盘驱动器 I goo
  • dplyr::mutate 的并行版本是什么?

    鉴于我有一个非常大的数据框 请告知R中是否有一个函数可以使dplyr mutate并行多核运行 Like furrr包 你可以在其中设置plan并运行多核 None
  • Laravel 缓存获取所有带标签的项目

    在 Laravel 中 您可以使用以下标签将项目放入缓存中 Cache tags bans gt put result gt ip result gt reason 但我似乎无法找到一种方法来获取带有特定标签的所有项目 是否可以检索带有特定
  • 在此特定示例中如何将 Javascript 变量传递给 Twig

    以下代码在我的Twig模板 它用于加载CSS文件或其他文件 具体取决于用户选择的主题 这在一个简单的HTML页面但是当我尝试将其带到Twig我的模板Symfony应用程序我找不到通过的方法CSS路线 与Twig 到Javascript do
  • 如何在android studio中仅允许特定指纹

    我正在构建一个应用程序 我只想允许每个设备使用特定的指纹 指纹是原始的 真实的 有没有什么方法可以实现这个想法 也许可以转换成一个数字 我可以将其存储在数据库中并在需要时进行匹配 关于你的问题有几点 您可以使用根据设备中当前注册的指纹生成的
  • POST/GET 变量命名规则?

    在命名表单中的 POST 变量或查询字符串中的 GET 变量时 是否需要遵循任何规则 Thanks 从字面上回答这个问题 我所知道的命名确实没有 规则 POST and GETphp ini 中的数组键它是一个像其他数组一样的数组 看一眼键