0

MySQL selectを使用してデータベースに保存されているテキストをプルして、編集できるようにフォームに表示します。

フォームがデータベースに保持されている文字列に設定されている場合、最初のスペースで切り捨てられるため、「FooBar」は「Foo」と表示されます。タグを使用する場合、これは発生しません。

テキストフィールドが文字列全体を保持するのに十分な大きさであり、チャーターの数が制限されていないことを確認しました。

データベースには単語全体が保存されており、切り捨ては発生していません。タイプをvarchar(30)に設定しました。これは、単語全体を格納するのに十分なスペースです。タイプをテキストに変更しようとしましたが、まだ問題があります。

私はどこでも解決策を見つけるために継ぎ目を作ることができません誰かがこれが起こっているかもしれない理由の考えを持っていますか?

 <?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\" value=" . $row["title"] . ">"; ?>
4

2 に答える 2

2

関連するコードがない場合、これは単なる推測ですが、引用符を使用せずにフォームの入力値属性を設定していますか?

たとえば、あなたはこれをしていますか?

<input type="text" value=<? echo $value; ?> name="formInput" />

正しい構文の代わりに、これはどれですか?

<input type="text" value="<? echo $value; ?>" name="formInput" />
于 2012-08-30T16:10:54.427 に答える
2

phpページから生成されたHTMLのサンプルを提供する必要があります。ほとんどの場合、値の文字列は引用符で囲まれていません。たとえば、HTMLフォームは次のようになります。

<input type=text value=Foo Bar>

それ以外の

<input type=text value="Foo Bar">

これはあなたが見ている効果を正確に生み出すでしょう


更新:コメントの例に基づいて、あなたは確かに引用符を逃しています:

問題のある古いコード(value属性の値の前後に引用符がありません)

<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\"
  value=" . $row["title"] . ">"; ?>

修正されたコード

<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\"
 value=\"" . $row["title"] . "\">"; ?> 

属性はすでにname正しく引用されていますが、valueそうではないことに注意してください。

于 2012-08-30T16:11:14.003 に答える