PHP未定义索引错误 - 从隐藏输入传递值

时间:2012-11-29 23:41:09

标签: php html

尝试通过表单中的隐藏输入传递值时,我收到此错误。我之前已经多次使用过这个,我似乎无法弄清楚为什么它没有特别通过这个时间。

索引表格中的代码:

<form method="post" action="viewchars.php">
    <input type="hidden" name="uname" value="testuser" />
</form>

viewchars.php上的代码:

<?php
    $user = $_POST["uname"];
?>

错误表明uname是未定义的索引。

我不是试图让错误消失,因为我实际上需要为viewchars.php页面传递值。

5 个答案:

答案 0 :(得分:1)

在使用POST值之前,您必须确保提交表单。所以它应该像

$user = isset($_POST['uname']) ? $_POST['uname'] : '';

答案 1 :(得分:1)

在你的html中添加提交按钮

<form method="post" action="viewchars.php">
    <input type="hidden" name="uname"  value="testuser" />
    <input type="submit" value="Submit"/>
</form>

答案 2 :(得分:0)

如果您通过JS发送此信息,请确保您实际使用的是POST。您是否尝试过测试$ _REQUEST?

另外,试试:

  • 使用提交按钮进行测试

  • 使输入可见并输入要测试的文本

  • 更改var名称

  • 尝试print_r($ _ REQUEST);在php端看看收到了什么

答案 3 :(得分:0)

只需删除&#34; /&#34;形成输入线的末端! 像这样...

<form method="post" action="viewchars.php"> <input type="hidden" name="uname" value="testuser" > </form>

答案 4 :(得分:-1)

尝试以下方法:

$user = $_POST['uname'];