PHP 変数を別のページに投稿するのに問題があります。変数はユーザーが選択したドロップダウンから取得され、アポストロフィが含まれている場合は、投稿されたアポストロフィの前の部分のみを取得します。IE 「Cooper's Hawk」を投稿したい場合、「Cooper」しか受信していません。文字列全体を投稿できるように、これを適切にエスケープするにはどうすればよいですか?
これは私が持っているものです:
echo '<form method="POST" action="advanced_search2.php">';
$dropdown_english_name = "<select class = 'dropdown' name='english_name'> <option>ALL</option>";
$query = "SELECT DISTINCT english_name FROM moth_sightings WHERE user_id ='$username'ORDER BY english_name asc";
$result = mysql_query($query) or die(mysql_error());
echo "<tr><td>English Name:</td>";
while($row = mysql_fetch_assoc($result))
{
$dropdown_english_name .= "\r\n<option class = 'dropdown_active' value='{$row['english_name']}'>{$row['english_name']}</option>";
}
$dropdown_english_name .= '\r\n</select>';
echo '<td>' . $dropdown_english_name .'</td></tr>';
別のページで
$posted_value = ($_POST['english_name']);
echo $posted_value;die;
したがって、上記のコードから明確にするために、投稿された文字列は「cooper's hawk」ですが、エコー出力は「Cooper」です。ヒントをお寄せいただきありがとうございます。