2012-11-29 24 views
0

我在尝试通过表单中的隐藏输入传递值时收到此错误。我以前曾多次使用过这个,我似乎无法弄清楚为什么这次没有特别通过。从表单PHP未定义索引错误 - 从隐藏输入中传递值

代码上指数:上viewchars.php

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

代码:

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

错误指出UNAME是未定义的索引。

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

+4

这应该工作。你的提交按钮在哪里? – user1534664

+0

啊!您看不到提交按钮,因为没有提交按钮... 但是,您确实看到了问题! 谢谢用户! –

+0

应该工作,同意。如果输入可见,会发生什么情况?你也有一个提交按钮? – FrancescoMM

回答

1

添加在你的HTML提交按钮

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

您必须确保在使用POST值之前提交表单。因此,它应该是这样

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

-1

尝试以下操作:

$user = $_POST['uname']; 
+1

单引号或双引号没有区别。 –

0

如果通过JS发送此请确保您实际使用POST。您是否尝试过在$ _REQUEST上进行测试?

另外,尝试:

  • 使用一个提交按钮只是为了测试

  • 使输入可见的文本类型测试

  • 变化变数名称

  • 试一个print_r($ _ REQUEST);在PHP端,看看是收到

0

只是删除“/”输入线的形式结束了! 像这样...

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