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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Проблемка со слешами
 
 автор: Valeri   (14.03.2005 в 15:35)   письмо автору
 
 

Честно говоря не знаю в какой точно форум это писать, так как тут завязано и PHP и JS и MySQL. Если посчитаете нужным, перенесите в другой форум.
Проблема вот в чем
Есть форма, в которую заносится описание и отправляется в БД, в БД так же автоматом заносится ссылка

$linck="<a class=A_ff href=\"javascript:;\" onClick=\"MM_openBrWindow(\\'../baza.php?ad=$ad_id\\',\\'\\',\\'scrollbars=yes,width=700,height=500\\')\"><img src=\"imgclick/\"></a>";

все бы нормально, но в <img src=\"imgclick/\"> может быть картинка, а может быть и просто текст, так же может возникнуть необходимость отредактировать текст описания, в связи с этим есть функция редактирования, то есть такая же форма с текстовыми полями куда вытаскиваются переменные.
и вот ссылка вытаскивается без слешей, это все понятно, но заноситься в БД не хочит пока перед ' не поставишь слеши, то есть приходиться слешить каждый раз ручками вот так \', тогда все нормально заносится.
Как решить эту проблему без этой волокиты прослешивания ?

   
 
 автор: Grisly   (14.03.2005 в 17:57)   письмо автору
 
   для: Valeri   (14.03.2005 в 15:35)
 

У меня чуть другая ситуация.
Может быть наличие картинки, и ее отсутствие. Я проверяю на наличие

 if (!file_exists("$ID.jpg"))

и исходя из этого принимаю решение о дальнейших действиях... Может эти действия - и будут замена слэшей.

   
 
 автор: cheops   (14.03.2005 в 22:54)   письмо автору
 
   для: Valeri   (14.03.2005 в 15:35)
 

А вы перед занесением в базу данных замените прямые одинарные кавычки на обратные (символ ё в русской раскладке), а при выемке поступите наоборот. А ещё лучше воспользуйтесь стандартной функцией mysql_escape_string
<?php
  $linck 
mysql_escape_string($linck);
?>


http://www.softtime.ru/dic/id_dic=96&id_group=2

   
 
 автор: Valeri   (15.03.2005 в 13:20)   письмо автору
 
   для: cheops   (14.03.2005 в 22:54)
 

спасибо.
поставил mysql_escape_string()
и проблема пропала :)

   
Rambler's Top100
вверх

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