Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2018, 12:17   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
Вопрос Экранирование специальных символов в PHP 5.6

Есть программа, которая отправляет в PHP данные
Код:
<?php
include "utils.php";
// Проверка на пустоту
if (empty($_POST['uid']) or empty($_POST['nick'])) {
	die;
}
// Обновляем данные пользователя
$query = "UPDATE `users` SET
		 `nick` = '".$_POST['nick']."',
		 `about` = '".$_POST['about']."'
		 WHERE `uid` = '".$_POST['uid']."'";
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
echo "Stored";
?>
Если отправить в этот PHP такое: 'user, то получу ошибку.

Видел такие варианты:
addslashes() - Экранирует строку с помощью слешей
addcslashes() - Экранирует cтроку слешами в стиле языка C
htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
htmlspecialchars() - Преобразует специальные символы в HTML-сущности
nl2br() - Вставляет HTML-код разрыва строки перед каждым переводом строки
stripslashes() - Удаляет экранирование символов
stripcslashes() - Удаляет экранирование символов, произведенное функцией addcslashes
ereg() - Совпадение с регулярным выражением
preg_quote() - Экранирует символы в регулярных выражениях

Но в таком случае 'user превратится в \'\user и таким будет записан в таблицу, что противоречит заданию.
Изображения
Тип файла: png 1.png (4.6 Кб, 89 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 12.06.2018, 12:38   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А кроме видел пробовал хоть один вариант? Первый в частности. И что реально появилось в редактируемом поле?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.06.2018, 12:48   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

addslashes помог. Значит при тесте была допущена ошибка.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экранирование символов Shouldercannon PHP 3 18.07.2015 11:11
Экранирование символов Lindemann66 C/C++ Базы данных 3 27.07.2011 13:29
Экранирование символов Roms PHP 2 15.05.2010 13:09
Мастер специальных возможностей Илья Алексеевич Помощь студентам 1 23.02.2010 19:56
Коды специальных клавишь в Паскале itisiam Помощь студентам 6 26.02.2007 18:09