从文本框中获取值

3

我想在PHP中获取文本框的值,当我尝试以下代码时:

<form method=post action="update.php">
<input type="text" name="Hex" />
<input type="submit" value="OK" />  
</form>

<?php
$test = $_POST['Hex'];
echo $test;
?>      

我刚刚遇到了这个错误:
未定义的索引:Hex
我已经尝试谷歌搜索,但是没有结果,请求有人帮忙!

你的 PHP 代码是和 HTML 代码放在同一个文件里吗?还是说那个 PHP 代码在 update.php 文件里? - Michael Berkowski
2
在你的PHP中执行 var_dump($_POST);。 - heximal
@Michael 它在 update.php 文件中。 - GuiceU
@heximal 仍然出现相同的错误。 - GuiceU
2
尝试在 $test = .. 之前放置 error_reporting(E_ALL ^ E_NOTICE);。另外,您的表单 'method' 没有 '括号'(应该是 "post" 而不是 post)。 - ChristopheD
是的,注意到了(或者它?语法有点糟糕:/):) 谢谢! - GuiceU
4个回答

6
我希望这能对你有所帮助:
    <?php
if (isset($_POST['submit'])) {
$test = $_POST['Hex'];
echo $test;
} else { ?>
<form method="post" action="">
<input type="text" name="Hex" />
<input type="submit" value="OK" name="submit" />  
</form>
<?php } ?>

6

我认为问题出在引号上,@GuiceU你忘记在发布中添加引号了。

只需用method="post"替换您的method = post

HTML代码:

<form method="post" action="update.php">
<input type="text" name="Hex" />
<input type="submit" value="OK" />  
</form>

PHP代码:

<?php
               $test = $_POST['Hex'];
               echo $test;
?>  

0

你的代码看起来很好。不过,你可以尝试这样做:

将你的表单设置为这样:

<form method="post" action="update.php">

尝试使用$_REQUEST而不是$_POST


3
如非必要,请勿使用 $_REQUEST 代替 $_POST。原因是出于安全考虑。 - Ayman Safadi
4
@nauphal,然后我们尝试弄清楚为什么它不起作用,而不是让OP面临不必要的漏洞风险。 - Ayman Safadi
1
我认为引号的问题,@GuiceU忘记在post前后添加引号,应该是method="post"。 - arun

0
使用在脚本开头
<?php error_reporting(E_ALL ^ E_NOTICE); ?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接