最近、MySQLテーブルから取得した情報を一覧表示してさまざまな種類で表示する基本的なPHPWebページをまとめました。ユーザーがテーブルに新しいアイテムを追加し、リスト内のアイテムを編集し、ページを更新せずにリスト内のアイテムを削除できるようにしたい(Ajax)。
これは現在進行中です。
<a class="popup-button" title="<?php echo $row['comment']; ?>" onclick="setEdit('<?php if($row['comment']){ echo $row['comment']; } else { echo "Enter comment here..."; } ?>');"><?php echo $row['listitem']; ?></a>
function setEdit(editcomment)
{
if(editcomment){ document.getElementById('help-us-comment').value=editcomment; }
}
if(isset($_POST['comment_text']))
$comment=$_POST['comment_text'];
$sql = "INSERT INTO table SET
comment='$comment'";
問題:新しい行、一重引用符、または二重引用符で倒れることなく、データベースの内容を1、2、3で取得しようとすると常に問題が発生します。タグ、htmlspecialchars、nl2brを置き換えることの無限の組み合わせを試しましたが、半分の成功はありませんでした-非常に複雑でエンコード/デコードされたので、はるかに単純で明白な方法があると思いますm行方不明。
主な問題は、データをフォームに読み込もうとしたときに発生します。通常、フォームがフォールオーバーしてデータの入力をまったく拒否するか(通常、抽出されたデータによってリンクが壊れること、つまり一重引用符または改行によって)、またはフォームが編集するプレーンテキストの代わりに特殊文字が入力されます。
できる限り詳しく説明するように努めましたが、さらに必要な場合は喜んで提供させていただきます。また、これが明らかな修正/間違いであり、私がばかであることをお詫びします。