Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: почему select не работает ?

Сообщения:  [1-10]   [11-17] 

 
 автор: Den*s   (25.08.2011 в 09:58)   письмо автору
 
   для: Valick   (24.08.2011 в 19:13)
 

>можно, но ведь вы не носите носки поверх ботинок, хотя тоже можно :)
Можно надеть носки поверх ботинок и тогда не будешь скользить по льду :)

>SQL -инъекция, это не помещение в базу каких-то страшных символов...
>базе вообще фиолетово что в ней лежит, инъекция заключается в искажении запроса посылаемого базе

Это я и хотел учесть,можно исказить запрос кавычками, используя htmlspecialchars кавычки превращаются в символы, идёт в довес если не доверять mysql_real_escape_string

  Ответить  
 
 автор: Valick   (24.08.2011 в 23:52)   письмо автору
 
   для: (Sandr)   (24.08.2011 в 23:35)
 

Можно писать как хочешь))
угу, но нужно писать как нужно :)
в базе нужно хранить оригинал, с которым можно проводить любые преобразования достав его из базы, в том числе и хтмлспешалчарс непосредственно перед выводом в браузер
ну а на сет нагрузки это не тот случай когда нужно экономить
___
да делайте как хотите, мне вообще по барабану))

  Ответить  
 
 автор: (Sandr)   (24.08.2011 в 23:35)   письмо автору
 
   для: Den*s   (24.08.2011 в 18:45)
 

Можно писать как хочешь))
Просто если перед помещением в бд ты их профильтруешь, то это больше места в бд будет занимать вот и всё)
Но если фильтровать при выводе то нагрузка на сервер немного увеличится, на сколько я знаю.

  Ответить  
 
 автор: Valick   (24.08.2011 в 19:13)   письмо автору
 
   для: Den*s   (24.08.2011 в 18:45)
 

можно, но ведь вы не носите носки поверх ботинок, хотя тоже можно :)
для базы достаточно mysql_real_escape_string

SQL -инъекция, это не помещение в базу каких-то страшных символов...
базе вообще фиолетово что в ней лежит, инъекция заключается в искажении запроса посылаемого базе
а вот trim нужно применять одной из первых, для обработки переменной
затем неплохо бы проверить длину строки

  Ответить  
 
 автор: Den*s   (24.08.2011 в 18:45)   письмо автору
 
   для: Valick   (24.08.2011 в 18:25)
 

А почему нельзя при вводе
вот например

<?
$t 
htmlspecialchars ("'"ENT_QUOTES);
 print 
$t;
?>

Нажимаю в браузере "просмотреть исходный код" и вижу &#039;
Отсюда вывод что в переменную $t записалась не одинарная кавычка, а безопасный набор символов
Эту переменную теперь без опасений можно вносить в базу
Разве не так? Или я что то не до конца понимаю?

  Ответить  
 
 автор: Valick   (24.08.2011 в 18:25)   письмо автору
 
   для: Den*s   (24.08.2011 в 18:04)
 

htmlspecialchars - нужно использовать при выводе, а не перед помещением в базу

  Ответить  
 
 автор: Den*s   (24.08.2011 в 18:04)   письмо автору
 
   для: intima   (24.08.2011 в 17:13)
 

Я так полагаю это не ваш код.
Уделите время и разберитесь, ничего сложного нет.
И так, форма у Вас уже есть, в форме указан параметр action="add_cat.php"
На странице add_cat.php принимаете данные формы, то есть если на форме есть

<input type="text" class="text" name="zag" id="zag" />

то на add_cat.php нужно написать:

<?
$zag 
= @trimmysql_real_escape_string (htmlspecialchars ($_POST["zag"], ENT_QUOTES))); 
?>

Всякого рода trim( mysql_real_escape_string (htmlspecialchars тут для того что бы обезопасить себя от зловредных символов
Потом сформировать строку запроса, в которой будет указано, в какую таблицу что писать
Не забудьте создать соответствующее поле в базе
Сделайте это своими руками снуля
Не знаю для чего там столько кода, на мой взгляд его можно укоротить и упростить раза в 3.

  Ответить  
 
 автор: Lotanaen   (24.08.2011 в 17:17)   письмо автору
 
   для: intima   (24.08.2011 в 17:13)
 

Ну так в таблицу поле наверное еще нужно добавить и значение селекта туда записывать...

  Ответить  
 
 автор: intima   (24.08.2011 в 17:13)   письмо автору
 
   для: Den*s   (24.08.2011 в 16:07)
 

этого мамента нету я думаю вы подскажите где что и как поставить !!! я просто новичек !! я делал обьявлял все как только не пробывал это сделать не получилось потом решил все убрать как было и у вас спросить!

  Ответить  
 
 автор: Den*s   (24.08.2011 в 16:07)   письмо автору
 
   для: intima   (24.08.2011 в 13:52)
 

Вам два вопроса
1) В какую переменную методом POST помещается значение селекста
2) Где в INSERT в поле прописана эта переменная?

что то типа

<?
$notice_type 
$_POST["notice_type"];

$query "INSERT INTO $tbProducts  (
                      `url`,
                      `text`,
....
notice_type
.... 
)
VALUES (
                        '
$zag',
                        '
$text',
...
$notice_type
...
)"
?>

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования