Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 命名POST/GET变量的规则?_Html_Http_Post_Get - Fatal编程技术网

Html 命名POST/GET变量的规则?

Html 命名POST/GET变量的规则?,html,http,post,get,Html,Http,Post,Get,在表单中命名POST变量或在查询字符串中获取变量时,需要遵循哪些规则 谢谢-我认为最好的解决方案是: 使用小写字母 不使用点、任何其他特殊字符(不允许使用分数) 了解在请求过程中传递它们的方式(例如,name=“test[][]”“将在其他数组中的数组中创建值),并正确使用它 避免产生冲突(例如,?test=1和test=2将产生问题,因为只有一个值将通过-最好使用?test[]=1和test[]=2以便通过具有两个值的数组) 要始终如一, 此外,浏览您可能在上找到的不同解决方案,这样您就可

在表单中命名POST变量或在查询字符串中获取变量时,需要遵循哪些规则


谢谢-

我认为最好的解决方案是:

  • 使用小写字母

  • 不使用点、任何其他特殊字符(不允许使用分数)
  • 了解在请求过程中传递它们的方式(例如,
    name=“test[][]”“
    将在其他数组中的数组中创建值),并正确使用它
  • 避免产生冲突(例如,
    ?test=1和test=2
    将产生问题,因为只有一个值将通过-最好使用
    ?test[]=1和test[]=2
    以便通过具有两个值的数组)
  • 要始终如一,

此外,浏览您可能在上找到的不同解决方案,这样您就可以使用良好的、经过测试并被许多人使用的实践。

我们可以像使用变量名规则一样使用名称,但也可以将关键字用作GET/POST变量名。 更好的是,我们可以在任何适用的情况下使用与数据库列名相同的名称。但是没有这样的规则。 这些只是一些建议。

总之,不是——只要变量名符合HTTP规范和所使用的支持web服务器,您就可以随意调用参数


如果您使用与命名变量时相同的参数命名准则,您应该能够选择一个好的名称。

从字面上回答这个问题,我知道在php中命名
$\u POST
$\u GET
数组键确实没有“规则”。这是一个数组,和其他数组一样。看看:

把它粘贴进去,它就会通过



要添加的另一个最佳实践是:让表单输入名称或get/post键有意义,当然与其他命名约定一样。不要使用
input1
$\u GET['param']
。使用描述含义的名称,如
last\u name
$\u GET['sort\u order']

这些并不是真正的规则,有些是你的观点。@Wesley Correct。第一个不需要遵循。这就是您的想法?这些语言/框架中的一些不是依赖于语言/框架吗?例如,第三种和第四种语言(例如Django可以很好地处理相同的查询键),我认为这就是为什么不应该以一种语言支持而另一种语言不支持的方式编写它。你不觉得吗?此外,Yarin没有给我们任何关于解释POST/GET所用语言的提示(可能在服务器端,但不一定)。“点,任何其他特殊字符”完全可以。空间很好。破折号可以。回答OP的问题:查询字符串中的GET变量可以包含任何内容,但将(应该)编码。通常不建议将数据库列名公开。@Wesley,谢谢,这是真的,谢谢澄清。在Get的情况下,我们可以使用良好的名称,这将适合搜索引擎的优化,如使用关键字。
<?php
$_POST['♠♣♥♦'] = 'value1';
$_POST['\'\'\'\''] = 'value2';
$_POST['<?php echo "Hello World"; ?>'] = 'value3';
$_POST['     '] = 'value4';
$_POST[''] = 'value5';
$_POST['@#$%^&*()'] = 'value6';

print_r($_POST);
<!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>