私のサイトのユーザーがプロファイルの略歴を設定するときに、残りの文字数を表示する Javascript 文字カウンターがあります。
彼らが新しい略歴を書いたり、現在の略歴を編集しようとすると、タグ内で現在の略歴がデータベースから PHP にエコーされます。これがコードです
<script>
$(document).ready(function() {
var text_max = 300;
$('#textarea_feedback').html(text_max + ' characters remaining');
$('#textarea').keyup(function() {
var text_length = $('#textarea').val().length;
var text_remaining = text_max - text_length;
$('#textarea_feedback').html(text_remaining + ' characters remaining');
});
});
</script>
<form action="profile_edit_bio.php" method="post">
<textarea id="textarea" name="bio" class="input-xxlarge" maxlength="300" placeholder="Update your bio! This should be a short paragraph explaining why you're awesome. (Max characters 300)">
<?php if(strlen($row[20])!=0) {echo $row[20];}?>
</textarea>
<div id="textarea_feedback">
If you're seeing this message, please <a href="mailto:support@jaycraft.co">contact support</a>
</div>
<button type="submit" class="btn btn-info">Update bio</button>
</form>
彼らがフォームの送信ボタンを押すと、略歴とすべてが正常に保存されますが、今では<?php if(strlen($row[20])!=0) {echo $row[20];}?>
周りにたくさんのタブが付いた略歴が表示されます.
たとえば、
こんにちは、私の名前はジェームズです
なるだろう
Hello, my name is James
これらのスペース/タブをデータベースに保存しないため、スクリプトに問題があることは間違いありません。