test.php
-----------------------------------------------
<form name="form1" method="post" action="">
<input type="text" name="username" value="张三"/>
<input type="hidden" name="uid" value="3">
</form>
<?php
if(isset($_POST['username'])&&!empty($_POST['username']))
{
    $username = trim($_POST['username']);
    echo $username;    // 取得用户id
    $id = trim($_POST['uid']);
    echo $uid;
}
?>--------------------------------
隐藏表单用于传递参数,这些参数在页面上不可见,
如果你希望它们可见,把type属性改成别的也行:)

解决方案 »

  1.   

    传递一些参数时想用隐含的方式(不想给浏览者看到,其实还是可以查看的。)来传递,有时候也是为了隐含一些不需要给浏览者看到的,为了页面的整洁也用隐藏表单。例如我要对用户的密码初始化随机密码,但是又不想给用户看到,可以用:
    <input type="hidden" name="send" value="<?php srand((double)date("Ymdhis"));
    $randval = rand(1000000,9999999);
    echo $randval;
    ?>">
      

  2.   

    其实用隐藏参数只是为了方便,最终还是要程序重新验证,如果不验证就继续操作,真的死的很惨^_^
    因为这是很容易hack的,保存下那个页面自己修改了再运行一样可以提交。
      

  3.   

    我的站点中将语言选项设置为隐藏表单,因为做的站点是中英文双语的,所以在页面跳转及提交表单的时候会出现语言不能维持原来选项的情况,所以就根据$_SERVER['QUERY_STRING']判断是否选择了英文,然后在表单中加入<input type="hidden" name=language value="english">,就能轻松实现了,如果上一页是中文的,输出空白即可。我站点中就用这个隐藏表单,存密码或其他敏感东东太不安全了。
      

  4.   

    偶一般用隐藏表单来传递参数,不过现在用的很少,都使用URL来传递.
      

  5.   

    url传递不好,显得链接太长。不美观。
    密码什么的肯定用session或cookie啦,还用隐藏表单也太笨笨了。