禁用文本框不会向数据库发送值

时间:2012-02-23 01:35:38

标签: php mysql

我有一个文本框,它从我的数据库中获取一个值,并且是一个只读文本框。它包含一些我想发送到我的数据库的信息,但没有记录任何内容。一旦文本框不是只读文件,就会成功存储数据。有什么方法可以保持我的文本框被禁用并仍然将数据发送到我的数据库吗?

<form action="refnoadded.php?public=<?php echo $id; ?>" method="post">        
    <span id="sprytextfield1">
        <input type="text" name="ref"  value="<?php echo $newpass ?>" disabled />    
        <input type="button" onClick="history.go(0)" value = "Generate Reference">
        <br />
        <span class="textfieldRequiredMsg">Reference Number Required</span>
    </span>        
    <br />
    <input type="submit" value="Add Reference" />
</form>

任何想法?

3 个答案:

答案 0 :(得分:15)

已禁用不会将数据发送到服务器

使用

<input readonly value="my value" name="myname">

HTH!

答案 1 :(得分:7)

将数据放在第二个隐藏输入中:

<input type="hidden" name="ref_hidden" value="<?php echo $newpass ?>" />

用户不会看到差异,您将在提交表单时收到您的价值。

答案 2 :(得分:1)

禁用的文本字段不会将其信息提交给$ _POST或$ _GET。您只需使用表单元素

即可
<input type="hidden" name="rev_hidden" value="<?php print $password; ?>" />

这是在表单中传递隐藏信息的标准(正确)方式。

此元素的另一个用途是,如果要传递“formsubmitted”变量。

但是,如果您想创建一个值并让用户无法编辑,在服务器端执行。在创建数据库时创建值,因为用户可以相对简单地在您生成的内容中发送其他数据。