Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 12.06.2018, 13:17   #1
Shouldercannon
Профессионал
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Адрес: Пенза
Сообщений: 1,757
Репутация: 226

icq: 473732523
Вопрос Экранирование специальных символов в 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 Кб, 13 просмотров)
Shouldercannon вне форума   Ответить с цитированием
Старый 12.06.2018, 13:38   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,670
Репутация: 6211
По умолчанию

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

icq: 473732523
По умолчанию

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


13:35.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru