繁体   English   中英

PHP 不接收来自 post 表单的值

[英]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>

案例二

如果我把这个我可以从表格中获得价值

<?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 表单中收到值,正如你所看到的,我输入了“_”而不是与情况 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 和 yes 中未从 post 表单接收值的问题,在其他情况下使用 '' 和 "-"

问候和感谢

情况1:

tester-test-t表示

取常数tester值,减去常数test值,减去常数t值。

减法的结果将是$_POST数组中的键。

你的代码中有这样的常量吗? 当然,你没有

案例2:

'tester-test-t'只是一个字符串。 您的$_POST存在字符串键'tester-test-t'

案例3:

tester_test_t再次被视为常量 您是否定义了常量tester_test_t 当然,你没有

并了解您的代码出了什么问题 - 使用error_reporting (感谢@Fred -ii-)

这可能与字符编码有关,以及 - 在表单提交时传递到 http 请求时如何处理。 - 可能会以某种方式编码并导致您出现问题。

一个简单的解决方案是去掉字段名称中的连字符,因此将 name="tester-test-t" 更改为 name="TesterTestT" 之类的内容。

我个人更喜欢用另一个 .php 脚本的名称指定一个 action="" 来处理表单。 我发现将表单提交回本身可能会让人感到困惑。

Rgds

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM