PHP 不会从 post form 接收值


PHP does not receive values from post form

案例 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=" 来执行表单的处理。 我发现将表单提交回自身可能会令人困惑。

目录