Показать полную графическую версию : [решено] Вопрос по SPAW2
Artem-Samsung
23-03-2008, 19:21
Вообщем, разрабатывая админку, установил такую фичу, как встроенный текстовый редактор.
В категории, где нужно добавлять информацыю в установке особой эта штука не нуждается.
Достаточно вместо <textarea></textarea>
Вставить строчку кода $spaw1->show();
Но столкнулся со сложностью во время создания раздела по редактированию уже существующих записей.
То есть делая выборку текста, что бы оно помещалось в поле редактора текста.
Самомстоятельно, то есть без использования СПАВ все делается просто
<textarea>$content</textarea>
Где заблоговоременно - $content - это выборка.
А вот как сделать этом SPAW'ом?
Спасибо
Artem-Samsung
23-03-2008, 21:36
И еще вопрос. Как прописать новые стили?
во, как раз искал что либо подобное. Вот пример вызова класса едитора(решил выложить рабочий набор вместе с формой):
<FORM METHOD=POST ACTION="">
<?
include ("spaw2/spaw_control.class.php");
$sw = new SPAW_Wysiwyg('spaw1' /*name*/,
$_POST['spaw1'] /*value*/,
'' /*language*/,
'default' /*toolbar mode*/,
'' /*theme*/,
'100%' /*width*/,
'200px' /*height*/,
'' /*style***** file*/,
'' /*down data*/
);
$sw->show();
?>
<INPUT TYPE="submit">
</FORM>
первый параметр в конструкторе имя текстареа, второй параметр как видно на примере - поймать текст из ареа. Про CSS файл - предпоследний параметр, еще не пробовал, но щас займусь:), потому как имеется еще конфигурационный файл с кучей настроек
Artem-Samsung
25-03-2008, 11:28
Вау!!! )) Работает. Спасибо :)))
Artem-Samsung
26-03-2008, 19:08
http://uaclub.org/admin/?admin=addsubmenu
login: oszone
pass: 123
Обычный текст добавляется в базу данных нормально.
Но если появляются всякие кавычки, слеши и так далее, то SQL выдает ошибки:
Вот так автоматически формируется запрос и пишется ошибка
INSERT INTO rowling (title, link, cont, editor) VALUES ('пппп', 'ррррррррр', 'Фільмографія
1999 – «Девід Коперфільд» (David Copperfield) /Юний Девід Коперфільд/
2001 – «Кравець із Панами» (The Tailor of Panama) /Марк Пендел/
2001 – «Гаррі Поттер і філософський камінь» (Harry Potter and the Sorcerer's Stone) /Гаррі Поттер/
2002 – «Гаррі Поттер і таємна кімната» (Harry Potter and the Chamber of Secrets) /Гаррі Поттер/
2004 – «Гаррі Поттер і в’язень Азкабану» (Harry Potter and the Prisoner of Azkaban) /Гаррі Поттер/
2005 – «Гаррі Поттер і келих вогню» (Harry Potter and the Goblet of Fire) /Гаррі Поттер/
2007 – «Гаррі Поттер та Орден Фенікса» (Harry Potter and the Order of the Phoenix) /Гаррі Поттер/
2007 – «Грудневі хлопчики» (December Boys) /Мепс/
2007 – «Мій хлопчик Джек» (My Boy Jack) /Джон «Джек» Кіплінг/
2008 – «Гаррі Поттер і Напівкровний Принц» (Harry Potter and the Half-Blood Prince) /Гаррі Поттер/ - в роботі
2009 – «Мандрівка» (Journey) /Ден Елдон/ - анонсовано
2010 – «Гаррі Поттер і смертельні реліквії» частина 1 (Harry Potter and the Deathly Hallows) /Гаррі Поттер/ - анонсовано
2011 – «Гаррі Поттер і смертельні реліквії» частина 2 (Harry Potter and the Deathly Hallows) /Гаррі Поттер/ - анонсовано
', 'ррррррррр')
Но вот так все отлично через тот же код:
INSERT INTO rowling (title, link, cont, editor) VALUES ('ффыфы', 'фыфы', 'фыфыфыфыыф', 'фыфы')
То есть как экранировать кавычки в таком случае?
Используется редактор spaw2
И так не получается:
INSERT INTO rowling( title, link, cont, editor )
VALUES (
'ssss', 'sssss', `Фільмографія
1999 – «Девід Коперфільд» (David Copperfield) /Юний Девід Коперфільд/
2001 – «Кравець із Панами» (The Tailor of Panama) /Марк Пендел/
2001 – «Гаррі Поттер і філософський камінь» (Harry Potter and the Sorcerer's Stone) /Гаррі Поттер/
2002 – «Гаррі Поттер і таємна кімната» (Harry Potter and the Chamber of Secrets) /Гаррі Поттер/
2004 – «Гаррі Поттер і в’язень Азкабану» (Harry Potter and the Prisoner of Azkaban) /Гаррі Поттер/
2005 – «Гаррі Поттер і келих вогню» (Harry Potter and the Goblet of Fire) /Гаррі Поттер/
2007 – «Гаррі Поттер та Орден Фенікса» (Harry Potter and the Order of the Phoenix) /Гаррі Поттер/
2007 – «Грудневі хлопчики» (December Boys) /Мепс/
2007 – «Мій хлопчик Джек» (My Boy Jack) /Джон «Джек» Кіплінг/
2008 – «Гаррі Поттер і Напівкровний Принц» (Harry Potter and the Half-Blood Prince) /Гаррі Поттер/ - в роботі
2009 – «Мандрівка» (Journey) /Ден Елдон/ - анонсовано
2010 – «Гаррі Поттер і смертельні реліквії» частина 1 (Harry Potter and the Deathly Hallows) /Гаррі Поттер/ - анонсовано
2011 – «Гаррі Поттер і смертельні реліквії» частина 2 (Harry Potter and the Deathly Hallows) /Гаррі Поттер/ - анонсовано
` , 'ssss'
)
Экранировать вручную не подходит( Оно то технически все хорошо. Но пользователи не умеют экранировать
INSERT INTO rowling (title, link, cont, editor) VALUES ('ssss', 'sssss', 'Фільмографія
1999 – «Девід Коперфільд» (David Copperfield) /Юний Девід Коперфільд/
2001 – «Кравець із Панами» (The Tailor of Panama) /Марк Пендел/
2001 – «Гаррі Поттер і філософський камінь» (Harry Potter and the Sorcerer\'s Stone) /Гаррі Поттер/
2002 – «Гаррі Поттер і таємна кімната» (Harry Potter and the Chamber of Secrets) /Гаррі Поттер/
2004 – «Гаррі Поттер і в\’язень Азкабану» (Harry Potter and the Prisoner of Azkaban) /Гаррі Поттер/
2005 – «Гаррі Поттер і келих вогню» (Harry Potter and the Goblet of Fire) /Гаррі Поттер/
2007 – «Гаррі Поттер та Орден Фенікса» (Harry Potter and the Order of the Phoenix) /Гаррі Поттер/
2007 – «Грудневі хлопчики» (December Boys) /Мепс/
2007 – «Мій хлопчик Джек» (My Boy Jack) /Джон «Джек» Кіплінг/
2008 – «Гаррі Поттер і Напівкровний Принц» (Harry Potter and the Half-Blood Prince) /Гаррі Поттер/ - в роботі
2009 – «Мандрівка» (Journey) /Ден Елдон/ - анонсовано
2010 – «Гаррі Поттер і смертельні реліквії» частина 1 (Harry Potter and the Deathly Hallows) /Гаррі Поттер/ - анонсовано
2011 – «Гаррі Поттер і смертельні реліквії» частина 2 (Harry Potter and the Deathly Hallows) /Гаррі Поттер/ - анонсовано
', 'ssss')
привет. Надо спецсимволы экранировать функцией mysql_real_escape_string
подробнее тут (http://www.php.net/manual/de/function.mysql-real-escape-string.php)
PS не че так, веселенький эдитор получился :)
Artem-Samsung
26-03-2008, 21:07
Спасибо, щас попробую)) Хотя я немножко недопонял, даже по примерам).
Вообщем нужно как-то заменить:
mysql_query("
INSERT INTO $menu
(title, link, cont, editor) VALUES ('$title', '$link', '$cont', '$editor')
");
просто вызвать функцию
$cont = mysql_real_escape_string($cont);
mysql_query("
INSERT INTO $menu
(title, link, cont, editor) VALUES ('$title', '$link', '$cont', '$editor')
");
Artem-Samsung
26-03-2008, 21:27
Я вот попробовал и выкрутился вот таким вот способом))
$cont = addslashes($cont);
mysql_query("
INSERT INTO $menu
(title, link, cont, editor) VALUES ('$title', '$link', '$cont', '$editor')
");
да, практически тоже самое, mysql_real_escape_string экранирует чуть больше символов(что в большинстве случаев и не нужно, но подстраховаться не мешает). В принципе сам нашел решение. А что за линк выложил, рабочий или так для примера показать?
Artem-Samsung
26-03-2008, 22:47
Линк - рабочий) Админки, которую я разрабатываю.
Первая работа в пхп ))
Можна покляцать, там пока все равно левая База Данных.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.