2012-02-23 13 views
2

私のデータベースから値を取得するテキストボックスがあり、読み取り専用のテキストボックスです。それは私のデータベースに送信するいくつかの情報が含まれていますが、何も記録されていません。テキストボックスが読み取り専用でないと、データは正常に保存されます。私のテキストボックスを無効にしたまま、データをデータベースに送信する方法はありますか?テキストボックスを無効にしてもデータベースに値が送信されない

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

+0

質問は:なぜですか?それが無効になっている場合、それを送信する必要はありません、確かに? – Flukey

+0

私はランダムにいくつかの数字と文字を生成するボタンがあるので、私はデータを編集するユーザーをしたくない –

+0

ああ私が参照してください。いくつかの数字を生成するためにJavaScriptを使用していますか?新しい番号がテキストボックスに表示されますか? – Flukey

答えて

15
サーバー

使用

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

HTHにデータを送信しない無効

+1

ありがとうございました! –

+5

@OP - ユーザーはそのテキストボックス内のデータを変更することができることに注意してください。ユーザーの入力を信頼しないでください。 – Flukey

7

は、第二の隠された入力中のデータを持っている:

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

ユーザーが違いを見ないであろうと、あなたがフォームを送信するとき、あなたの値が送信されます。

1

無効になっているテキストフィールドは、$ _POSTまたは$ _GETに情報を送信しません。フォーム要素をそのまま使用することができます

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

これはフォームに隠れた情報を渡すための標準的な(正しい)方法です。

"formsubmitted"変数を渡す場合は、この要素の別の使い方があります。

ただし、値を作成してユーザーが編集できないようにする場合は、をサーバー側で実行してください。データベースを作成するときに値を作成します。これは、ユーザーが生成した場所に他のデータを比較的簡単に送信できるためです。

関連する問題