Весёлый химик, да my_sql пользую, спасибо за подсказку, ща опробую и отпишу...
- 26.12.2011 12:51
- 26.12.2011 12:53
- Регистрация: 27.11.2011
- Сообщений: 54
- Репутация: 12
Попробуйте
PHP код:set_magic_quotes_runtime(1);
- 26.12.2011 13:05
Весёлый химик, спасибо, помогло, но отсюда следует логичный вопрос - нужно ли делать обратную операцию при выводе в браузер и при использовании этой строки из базы для других целей?
---------- Сообщение добавлено 14:05 ---------- Предыдущее 14:03 ----------
music, а зачем это использовать? эта функция ведь возвращает результат выполнения а не экранирует...
тем более с версии PHP 5.3.0 функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность. - 26.12.2011 13:12
- Регистрация: 27.11.2011
- Сообщений: 54
- Репутация: 12
На сколько мне известно ф-я set_magic_quotes_runtime(1); включает установку экранирования кавычек в данных, полученных из внешних источников, в т.ч. и из поста. Хотя я могу и ошибаться.
- 26.12.2011 13:39
music, так она установку только включает как вы верно заметили, но не выполняет экранирование.. да и нюансов много...
mysql_real_escape_string() помогло...отсюда следует логичный вопрос - нужно ли делать обратную операцию при выводе в браузер и при использовании этой строки из базы для других целей?
И попутный вопрос, какие функции желательно-обязательно использовать при принятии данных от пользователей и какие проверки делать при внесении их в базу?Последний раз редактировалось cOAPerator; 26.12.2011 в 13:49.
- 26.12.2011 14:11
Возьму то что бросается в глаза, сразу:
if ($result == 'true')
У вас переменная $result проверяется на равенство строковому значению - true, а не булевому, это во первых. Во-вторых $result вообще не вернет true/flase при выполнении mysql запроса - а вернет количество строк. - 26.12.2011 14:14
- 26.12.2011 14:18
cOAPerator, как минимум следует убрать кавычки, в кавычках вы булево значение приравниваете строковому - может php и так обработает правильно, но лучше поправить. Это будет комильфо =)
if ($result == true)
либо
if ($result)
ps. думаю это не критично, но что бы код не выдавал в дальнейшем непредсказуемых результатов -) - 26.12.2011 14:23
- 26.12.2011 14:52
cOAPerator, всегда делаю stripslashes() - на многих хостингах по прежнему часто включены magic quotes, соответственно при добавлении в mysql нужно пройтись по массову _post функцией addslashes()
ps. Если вы уже сделали mysql_real_escape_string() как советовал человек - то в вышенаписанном рецепте необходимости нет. Либо можно и то и другое использовать: вреда не будет.
Тэги топика:
- author,
- date,
- description,
- echo,
- isset,
- meta_description,
- _post,
- код,
- пожалуйста,
- помочь
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Помогите пожалуйста :( экзамен | Оффтоп и свободные темы | 0 | 16.06.2011 11:52 |
Помогите пожалуйста с версткой | Web программирование | 1 | 27.04.2011 18:03 |
Помогите по верстке пожалуйста! | Web программирование | 1 | 30.01.2011 14:49 |
Помогите с кодом, выровнять футер в wp | Web программирование | 2 | 02.12.2010 00:47 |