Php 禁用文本框不会将值发送到数据库

Php 禁用文本框不会将值发送到数据库,php,mysql,Php,Mysql,我有一个文本框,它从我的数据库中提取一个值,是一个只读文本框。它包含一些我想发送到数据库的信息,但没有任何记录。一旦文本框不是只读的,数据就会成功存储。有没有什么方法可以让我的文本框保持禁用状态,并且仍然将数据发送到我的数据库 <form action="refnoadded.php?public=<?php echo $id; ?>" method="post"> <span id="sprytextfield1">

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

<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>

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

使用



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

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

禁用的文本字段不会将其信息提交给$\u POST或$\u GET。您可以简单地使用form元素

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

问题是:为什么?如果它被禁用,那么你不需要发送它,当然?我不想让用户编辑数据,因为我旁边有一个按钮,随机生成一些数字和字母。您正在使用javascript生成这几个数字?新的数字显示在文本框中?用户可能无法正常更改禁用或只读输入,但您不能依赖于此。使用例如firebug或发送自定义表单来更改值仍然很容易。永远不要信任用户数据。@Flukey是的,但我使用的是php而不是javascript:)@OP-请注意,用户仍然可以更改该文本框中的数据。不要相信用户的输入。
<input type="hidden" name="rev_hidden" value="<?php print $password; ?>" />