Нужен хэлп по PHP

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Нужен хэлп по PHP

Сообщение Tarik » 20.07.2005 (Ср) 19:14

Начал сегодня писать небольшой движок для своего блога. Вроде всё шло нормально, но только что встал на грабли.
Есть код:
Код: Выделить всё
$rtime = time();
$rtitle = $HTTP_POST_VARS["title"];
$rtext = $HTTP_POST_VARS["text"];
$rmood = $HTTP_POST_VARS["mood"];
$rmusic = $HTTP_POST_VARS["music"];
$conn = mysql_connect("localhost","*****","******") or die ("Can't connect");      
mysql_select_db("tarik") or die("Can't select db!");
$insert = "INSERT INTO myblog_entries (time, title, text, mood, music) VALUES ($rtime, $rtitle, $rtext, $rmood, $rmusic)";
$result = mysql_query($insert) or die(mysql_error());

Допустим, в поле title вводим "ABC". Жмём сабмит и вываливаемся с ошибкой " Unknown column 'ABC' in 'field list' ". Ладно. Комментим строку
Код: Выделить всё
$insert = "INSERT INTO myblog_entries (time, title, text, mood, music) VALUES ($rtime, $rtitle, $rtext, $rmood, $rmusic)";

и вместо неё ставим
Код: Выделить всё
$insert = "INSERT INTO myblog_entries (time, title, text, mood, music) VALUES (12457878964532, 'sgsfh', 'dfhdsh', 'dfhdh', 'dsfhdfs')";

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

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.07.2005 (Ср) 19:49

Код: Выделить всё
$insert = "INSERT INTO myblog_entries (time, title, text, mood, music) VALUES ($rtime, '$rtitle', '$rtext', '$rmood', '$rmusic')";

Помогло?
Изображение

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 20.07.2005 (Ср) 20:34

Помогло, премного благодарен :) Косяк в том, что все переменные, кроме $rtime - строковые? Эх, RTFMить надо внимательнее... :)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 20.07.2005 (Ср) 21:47

Tarik, тебе тут нада еще мнооогооо исправлять!!!!
1. Лучше изменить $HTTP_POST_VARS[] на $_POST[]
2. Самое главное!!!! Проверяй переменные на такие символы как одинарная кавычка, слеш, бэкслеш... а то тут можно легко SQL-Injection замутить! поверь! хотя ничего ценного и нету...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 21.07.2005 (Чт) 2:18

Jenizix, твои слова (из п.2.) да неделю б назад... Цены им не было б... А то только вчера вкурил в чем дело.
---
Если проблемма решена, а тема все-равно поднята. Подскажите кто-то функцию в PHP аналогичную VB-шной SPLIT().
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 21.07.2005 (Чт) 2:45

Последний раз редактировалось FaKk2 21.07.2005 (Чт) 3:38, всего редактировалось 1 раз.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 21.07.2005 (Чт) 2:56

:cheers: FAKK2 :cheers:, Спасибо. как банально! :oops:
Перепроверил - все работает. Но не работало же... :?
Видимо опять руки искривились - завтра же к врачу пойду - пусть исправит...
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.07.2005 (Чт) 3:28

SHURUP писал(а)::cheers: FAKK2 :cheers:, Спасибо. как банально! :oops:
Перепроверил - все работает. Но не работало же... :?
Видимо опять руки искривились - завтра же к врачу пойду - пусть исправит...

Ссылка, данная FAKK2, писал(а):If you don't require the power of regular expressions, it is faster to use explode(), which doesn't incur the overhead of the regular expression engine.
Изображение

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 21.07.2005 (Чт) 3:37

tyomitch

Да написано, только point в моем посте другой :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 22.07.2005 (Пт) 14:50

Jenizix, почитал про SQL injectionы, проникся. Кой-чего пофиксил, спасибо за советы :)

Кстати, раз уж тема начата, то ещё вопросец: как можно запретить использовние html? Скажем, в комментах юзер может написать что угодно и юзать любые тэги. Как сделать, чтобы htmlные тэги просто не парсились, а выводились как есть?
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 22.07.2005 (Пт) 14:58

вот эта ф-ия: htmlspecialchars(string string);
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 22.07.2005 (Пт) 15:34

Jenizix, и ещё раз спасибо! Прикрутил, работает :)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 23

    TopList