Проблемы с хранением переменных PHP - PullRequest
0 голосов
/ 10 февраля 2012

для начала я считаю себя между начинающим и промежуточным, когда речь заходит о PHP.На моем веб-сайте у меня есть текстовая область, в которую пользователь может ввести веб-код, и при нажатии кнопки он отправляет код на страницу и отображает вывод.Вот ссылка на страницу: http://opensourcewebsite.host22.com/editpage.php. Другая проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы все, что вводит пользователь, оставалось на странице.

Вот как выглядит код до сих пор.:

<?php $source_code = $_POST['source-code'}; ?>
...
<editable_area>
<?php echo $source_code ?>
</editable_area>
...
<form action="" method="post">
input class="result" type="submit" name="submit" value="View Result">
<textarea id="source" class="edit_are" name="source-code"></textarea>

В настоящее время, когда пользователь вводит код, содержащий идентификатор / класс / имя / и т. Д.в нем есть кавычки, это как когда вы делаете:

echo "<div id="Name">"

Это добавит \ "и, таким образом, испортит код. Мне нужно найти способ сохранить код, чтобы он отображалправильно. Если вы попробуете веб-страницу, вы увидите мою проблему из первых рук.


Когда код будет отправлен, текстовое поле захватывает исходный код веб-страницы через javascript. Я обнаружил, что есливы пропускаете "" в коде, он работает как положено. Проблема в том, что когда он захватывает исходный код, в нем есть кавычки, поэтому код будет отображать их в текстовом поле. Это означает, что каждый раз, когда вы вносите изменения,вам нужно убрать все кавычки.


Благодаря webbiedave я исправил проблему с кавычками, используя:

<?php echo stripslashes($source_code) ?>

Теперь мне просто нужно выяснить, как навсегдахранить изменения.

Ответы [ 3 ]

2 голосов
/ 10 февраля 2012
<?php echo htmlentities(stripslashes($source_code)) ?>
2 голосов
/ 10 февраля 2012

Проверьте, включены ли у вас магические кавычки и убедитесь, что вы выключили их . Также вы можете использовать htmlspecialchars для экранирования специальных символов. В противном случае они могут просто закрыть ваш textarea и нанести другой ущерб.

echo htmlspecialchars($source_code);
1 голос
/ 10 февраля 2012

Можете ли вы использовать вместо одинарных кавычек: '

';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...