案例 1
如果我把这个,我无法从输入接收结束值
<?php echo $_POST[tester-test-t]; ?>
<form action="" method="post"> <input type="text" name="tester-test-t" value="" /> <input type="submit" name="Send" value="Sender" /> </form>
案例2
如果我把这个,我可以从表单中接收值
<?php echo $_POST['tester-test-t']; ?>
<form action="" method="post"> <input type="text" name="tester-test-t" value="" /> <input type="submit" name="Send" value="Sender" /> </form>
案例3
最后,如果我把这个,我也可以从 POST 表单中接收值,正如你所看到的,我 puto "_" 与情况 1 "-" 不同
echo $_POST[tester_test_t];
<form action="" method="post"> <input type="text" name="tester-test-t" value="" /> <input type="submit" name="Send" value="Sender" /> </form>
它是关于的问题,这是在情况 1 和是的情况下没有从 post 表单接收值的问题,在其他情况下带有"和"-"
问候和感谢
情况 1:
tester-test-t
意味着
取常
tester
的值,减去常test
的值,减去常t
的值。
减法的结果将是$_POST
数组中的键。
你的代码中有这样的常量吗?当然,你不会。
案例2:
'tester-test-t'
只是一个字符串。字符串键'tester-test-t'
存在于您的$_POST
案例3:
tester_test_t
再次被认为是一个常数。您是否定义了常量tester_test_t
?当然,你不会。
要了解代码中出了什么问题 - 使用 error_reporting
(感谢 @Fred -ii-)
这可能与字符编码有关,以及 - 在提交表单时传递到 http 请求时如何处理。 - 可能会以某种方式编码并导致问题。
一个简单的解决方案是删除字段名称中的连字符,因此将 name="tester-test-t" 更改为类似 name="TesterTestT"。
就个人而言,我更喜欢使用另一个.php脚本的名称指定一个 action=" 来执行表单的处理。 我发现将表单提交回自身可能会令人困惑。
目录