HTML 入力フィールドに入力するデータ文字列のフォーマットに問題があります。これが私のクエリです:
$sql_active = "SELECT * FROM table WHERE id='$id'";
$result_active = $mysqli->query($sql_active);
$row = mysqli_fetch_array($result_active);
$job_description = stripslashes($row['job_description']);
次に、$job_description 変数を使用してページに情報を表示します。ページの後半に、情報を入力する必要がある非表示のフォーム フィールドがあります。だから私はこれを行います:
<input type="hidden" name="description" value="<?php echo $mysqli->real_escape_string($job_description); ?>" />
問題は、ユーザーが最初に説明フィールドを入力するときに、引用符、二重引用符などを (好きなように) 使用できることです。ここにあるこの 1 つの例では、情報が引用符を超えることを許可していません。次のように表示されます。
<input type="hidden" name="description" value="PLEASE NOTE: YOU MUST HAVE EXPERIENCE\r\n\r\nOne of the city\'s best employers. Basic \" handyman\" repair skills preferred. ">
最初のアポストロフィに当たるとエスケープしますが、ユーザーがアポストロフィと引用符の両方を使用しているため、混乱します。