2015-11-14 3 views
3

Я извлекаю информацию из базы данных SQL для заполнения в форме с помощью команды PHP Echo. Одна из строк из базы данных sql включает разметку HTML.Заполните форму HTML из базы данных SQL, которая включает в себя HTML-разметку

При извлечении информации и заполнении формы данными она не потянет разметку HTML в форме. Это выглядит следующим образом:

Example

Есть ли способ, чтобы иметь полный HTML разметка заполнения в форме? Это код, я в настоящее время использую:

<input name="tag" type="text" id="tag" value="<?php echo $rows['tag']; ?>" size="30"/> 
+0

Мы вряд ли сможем ответить на это, если вы не покажете нам, как вы заполнили эту страницу. – arkascha

ответ

1

Да, вам нужно будет использовать htmlentities(), чтобы показать код лица (который может быть проанализирован с помощью браузера, как обычный текст), фактически заставляя браузер для визуализации HTML ,

echo htmlentities($rows['tag']); 
1

Это следует сделать это:

<input name="tag" type="text" id="tag" value="<?= htmlspecialchars($rows['tag']) ?>" size="30"/> 

Вы вставляете двойные кавычки в поле ввода, как это:

value="<a href="http://www.google.com">Google</a>" 

Это должно быть закодировано в HTML с функцией htmlspecialchars

1

Вам нужно избегать кода html, который вы хотите использовать для заполнения формы, используя либо htmlentities() или htmlspecialchars(). (См here)

Это в любом случае хорошо, и я бы даже сказал, нужно использовать эти функции, когда вы эхо значения из базы данных или другого ненадежного источника. Это, чтобы предотвратить инъекцию скрипта, является одной из основных проблем в веб-разработке.

Смежные вопросы