我無法將php變量發佈到其他頁面。該變量是從用戶選擇的下拉列表中檢索的,如果它包含撇號,我只會在發佈撇號之前獲得該部分。 I.E.如果我想發佈「Cooper's Hawk」,我只會收到「Cooper」。我如何正確地轉義這個以便我可以發佈整個字符串?發佈包含撇號的php變量
這是我有:
不同的頁面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;
所以,從上面的代碼澄清,張貼的字符串爲「庫珀的鷹」,但返回的輸出是「庫珀」。 在此先感謝您提供任何提示。
最有可能你使用單引號來包裝選項value屬性,而不是附和那些在PHP之前逃離他們。 –
選擇框中沒有「Cooper's Hawk」選項。告訴我們這是如何產生的。 –
'echo; $ posted_value; die;'是不完全有效的語法... –