Учитывая следующие два фрагмента html / php:
<input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" />
а также
<textarea name="content"><?php echo $_POST['content']; ?></textarea>
какую кодировку символов мне нужно использовать для эхо-переменных $_POST
? Могу ли я использовать любые встроенные функции PHP? Предположим, что значения $_POST
еще не были закодированы. Никакая магия не цитирует ничего.
Используйте htmlspecialchars($_POST['firstname'])
и htmlspecialchars($_POST['content'])
.
Всегда htmlspecialchars()
строк с помощью htmlspecialchars()
прежде чем показывать их пользователю.
Однако htmlspecialchars () не поможет вам с value='single quotes'
Вот что происходит:
value='We're not using this in our "code"...'
Все, что вы видите, это We
htmlspecialchars будет работать в обоих случаях. Посмотрите на различные параметры флага, чтобы избежать кавычек, являющихся проблемой во input
случае.