Вставка HTML-кода в таблицу MySQL

Вы можете сообщить своим пользователям добавить свой адрес «От» к своим контактам, когда они выполнит свой заказ, который, если они это сделают, поможет много.

В противном случае я попытался бы получить журнал от некоторых ваших пользователей. Иногда у них есть сведения о том, почему он был помечен как спам в заголовках сообщения, которое вы могли бы использовать для настройки текста.

Другие вещи, которые вы можете попробовать:

  • Поместите свое имя или адрес своего сайта в тему
  • . Все ссылки в сообщении, указывающие на ваш домен (а не на email.com)
  • Поместите адрес или другую контактную информацию в адрес электронной почты
13
задан durron597 12 July 2015 в 23:41
поделиться

4 ответа

Ну... Отладил... Оказывается, проблема была все-таки не в функции экранирования...

Посмотрите на запрос :

UPDATE $jos_content
SET    introtext = '$intro_code',
       fulltext  = '$article_code'
WHERE  id = '$article_id'";

Вы можете увидеть поле 'fulltext'... Очевидно, слово "fulltext" является ключевым словом mysql... Если быть точным, это тип поля, как TEXT, INT, MEDIUMTEXT и т.д....

Я изменил запрос на этот

"UPDATE $jos_content
SET    $jos_content.introtext = '$intro_code',
       $jos_content.fulltext  = '$article_code'
WHERE  $jos_content.id = '$article_id'";

И вуаля...!!!!

2
ответ дан 1 December 2019 в 18:06
поделиться

Вам не нужны косые черты. Единственное, что вызовет проблемы во время обычной вставки, - это кавычки, и mysql_escape_string () должен обрабатывать это, за исключением проблем с кодировкой. Попробуйте также mysql_real_escape_string () .

Также обратите внимание, что хранение необработанного HTML-кода, предоставленного пользователем, в базе данных может привести к проблемам с безопасностью. Вместо этого рассмотрите возможность использования чего-то вроде bbcode или уценки.

7
ответ дан 1 December 2019 в 18:06
поделиться

Просто чтобы подтвердить, ваш запрос выглядит так:

$query = '
    UPDATE "'.mysql_real_escape_string ($jos_content).'"
    SET    introtext = "'.mysql_real_escape_string ($intro_code).'",
           fulltext  = "'.mysql_real_escape_string ($article_code).'"
    WHERE  id = "'.mysql_real_escape_string ($article_id).'"
";
1
ответ дан 1 December 2019 в 18:06
поделиться

Я предпочитаю преобразовывать код в обычную строку перед вставкой в ​​базу данных. Думаю, это наиболее безопасный сценарий. Рассмотрите возможность использования этого кода:

$article_code = base64_encode($article_code);
/* insert to database */

Итак, если вы хотите использовать этот код обратно, просто декодируйте с помощью base64_decode. Я предлагаю вам использовать для сохранения $ article_code тип данных text, а не varchar.

27
ответ дан 1 December 2019 в 18:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: