至少有兩個問題在你的代碼:
echo "<input id='message' style='display: none;' value={$message}>$message</div>";
以上由線產生的HTML看起來像這樣:
<input id='message' style='display: none;' value=You have completed ...>
有大約價值暫無報價HTML屬性值。儘管如果屬性值是單個單詞,引號是可選的,但當屬性的值包含多個單詞時需要引號;否則屬性「值」的值是You
和have
,completed
等是input
元素的其他HTML屬性。
代碼的第二個問題來自於你在那裏放置了一些文本而沒有正確編碼HTML特殊字符。例如,如果的$offername
值爲O'Brian
,所生成的HTML代碼(後"value"
HTML屬性的值被正確地引用)變爲:
<input id='message' style='display: none;' value='You have completed O'Brian [...] and received ...'>
,它仍然是無效的。使用PHP函數htmlspecialchars()
正確編碼HTML特殊字符以在最終HTML頁面中獲取它們的字面值。
另一個小的通知(不是顯示塞子)是引用字符。最好使用引號("
)來引用HTML中的屬性值。撇號('
)是允許的,但不推薦。
總而言之,更好的方式來寫的代碼是:
$message = "You have completed {$offername} [{$offerprovider}] and received {$offerpayout}";
$encodedMsg = htmlspecialchars($message);
printf('<input id="message" style="display: none;" value="%s">%s</div>',
$encodedMsg, $encodedMsg);
請記住,一切你把HTML應正確編碼或瀏覽器可能正確,並用比你用不同的方式解釋它意。
這是模糊的,但我敢說你想'value =「$ message」> $ message' ... – arkascha