|
|
|
|
|
для: сотка
(25.03.2012 в 11:41)
| | с целью избежания непредвиденных последствий :)
это не только к полям относится
зачем использовать name когда можно использовать f_name например
да и ошибки иногда легче искать | |
|
|
|
|
|
|
|
для: Valick
(25.03.2012 в 11:34)
| | Ага)))спс! с целью безопасности отказаться? | |
|
|
|
|
|
|
|
для: сотка
(25.03.2012 в 11:25)
| | body или boby ?
и еще я бы на вашем месте отказался от использования зарезервированных слов в именах полей | |
|
|
|
|
|
|
|
для: сотка
(25.03.2012 в 11:03)
| |
$name = new field_text("name",
"Название",
true,
$_POST['name']);
$body = new field_textarea("body",
"Содержимое",
true,
$_POST['body']);
$url = new field_text("url",
"Ссылка",
false,
$_POST['url']);
$urltext = new field_text("urltext",
"Текст ссылки",
false,
$_POST['urltext']);
$date = new field_datetime("date",
"Дата новости",
$_POST['date']);
$hide = new field_checkbox("hide",
"Отображать",
$_REQUEST['hide']);
$urlpict = new field_file("urlpict",
"Изображение",
false,
$_FILES,
"../../files/news/");
$page = new field_hidden_int("page",
false,
$_REQUEST['page']);
$form = new form(array("name" => $name,
"body" => $body,
"url" => $url,
"urltext" => $urltext,
"date" => $date,
"hide" => $hide,
"urlpict" => $urlpict,
"page" => $page),
"Добавить",
"field");
// Обработчик HTML-формы
if(!empty($_POST))
{
// Проверяем корректность заполнения HTML-формы
// и обрабатываем текстовые поля
$error = $form->check();
if(empty($error))
{
// Скрытая или открытая директория
if($form->fields['hide']->value) $showhide = "show";
else $showhide = "hide";
// Изображение
$str = $form->fields['urlpict']->get_filename();
if(!empty($str))
{
$img = "files/news/".$form->fields['urlpict']->get_filename();
}
else $img = '';
// Формируем SQL-запрос на добавление
// новостного сообщения
$query = "INSERT INTO $tbl_news
VALUES (NULL,
'{$form->fields[name]->value}',
'{$form->fields[body]->value}',
'{$form->fields[date]->get_mysql_format()}',
'{$form->fields[url]->value}',
'{$form->fields[urltext]->value}',
'$img',
'$showhide')";
if(!mysql_query($query))
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка добавления новостного
сообщения");
}
// Осуществляем перенаправление
// на главную страницу администрирования
header("Location: index.php?page={$form->fields[page]->value}");
exit();
}
}
?>
<p class=main_txt>
Теги:
<a class=main_txt_lnk href=#
onClick="javascript:tag('', ''); return false;" >
<b>Жирный</b></a>,
<a class=main_txt_lnk href=#
onClick="javascript:tag('', ''); return false;">
<i>Наклонный</i></a>,
<a class=main_txt_lnk href=#
onClick="javascript:tag('[u]', '[/u]'); return false;" >
[u]<u>Подчеркнутый</u>[/u]</a>
</p>
<?php
// Начало страницы
$title = 'Добавление новостного сообщения';
$pageinfo = '<p class=help></p>';
// Включаем заголовок страницы
require_once("../utils/top.php");
echo "<p><a href=# onClick='history.back()'>Назад</a></p>";
// Выводим сообщения об ошибках, если они имеются
if(!empty($error))
{
foreach($error as $err)
{
echo "<span style=\"color:red\">$err</span><br>";
}
}
// Выводим HTML-форму
$form->print_form();
}
catch(ExceptionObject $exc)
{
require("../utils/exception_object.php");
}
catch(ExceptionMySQL $exc)
{
require("../utils/exception_mysql.php");
}
catch(ExceptionMember $exc)
{
require("../utils/exception_member.php");
}
// Включаем завершение страницы
require_once("../utils/bottom.php");
?>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(text1, text2)
{
if ((document.selection))
{
document.form.boby.focus();
document.form.document.selection.createRange().text =
text1+document.form.document.selection.createRange().text + text2;
} else document.form.boby.value += text1+text2;
}
//-->
</script>
|
не работает | |
|
|
|
|
|
|
|
для: Valick
(25.03.2012 в 10:56)
| | Нее сразу был! так по логике я так и сделал,соответственно и объект существут,но не происходит добавления(то есть не прикрепляется) к полю-объекту | |
|
|
|
|
|
|
|
для: сотка
(25.03.2012 в 10:46)
| | извиняюсь, прикрепленный почему-то не видел, хотя искал его вроде не было
вы сразу прикрепили или после редактирования поста?
___
просто раз уж задаете вопрос по JS зачем РНР код постить? :)
на сколько разбираюсь в JS вот эта строка
document.form.msg.focus();
делает поле msg активным
хотите другое имя, меняйте везде msg на свое
естественно у вас должен быть объект с таким именем | |
|
|
|
|
|
|
|
для: Valick
(25.03.2012 в 10:30)
| | Вы меня не поняли,вы прикрепленный файл смотрели? Там пример как сделано в гостевой книге! там есть именно JS с помощью которого и происходит добавление! НЕ могу понять его работу
<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(text1, text2)
{
if ((document.selection))
{
document.form.msg.focus();
document.form.document.selection.createRange().text =
text1+document.form.document.selection.createRange().text + text2;
} else document.form.msg.value += text1+text2;
}
//-->
</script>
|
| |
|
|
|
|
|
|
|
для: сотка
(25.03.2012 в 10:23)
| | как происходит именно добавление бб-кода при нажатии
а никак, это просто РНР обработчик
тут в поле с формой ручками надо писать ВВ-коды
___
вы действительно не видите что тут нет никакого JS кода? | |
|
|
|
|
 6 Кб |
|
| Всем привет! Не могу разобраться с связью ф-ции по книге!
сама ф-ция
<?php
////////////////////////////////////////////////////////////
// 2005-2008 (C) Кузнецов М.В., Симдянов И.В.
// PHP. Практика создания Web-сайтов
// IT-студия SoftTime
// http://www.softtime.ru - портал по Web-программированию
// http://www.softtime.biz - коммерческие услуги
// http://www.softtime.mobi - мобильные проекты
// http://www.softtime.org - некоммерческие проекты
////////////////////////////////////////////////////////////
// Выставляем уровень обработки ошибок
// (http://www.softtime.ru/info/articlephp.php?id_article=23)
error_reporting(E_ALL & ~E_NOTICE);
////////////////////////////////////////////////////////////
// Функция обработки bbCode
////////////////////////////////////////////////////////////
function print_page($postbody)
{
// Разрезаем слишком длинные слова
$postbody = preg_replace_callback(
"|([a-zа-я\d!]{35,})|i",
"split_text",
$postbody);
// Предотвращаем XSS-инъекции
$postbody = htmlspecialchars($postbody, ENT_QUOTES);
// Тэги
$pattern = "#\[b\](.+)\[\/b\]#isU";
$postbody = preg_replace($pattern,
'<b>\\1</b>',
$postbody);
$pattern = "#\[i\](.+)\[\/i\]#isU";
$postbody = preg_replace($pattern,
'<i>\\1</i>',
$postbody);
$pattern = "#\[u\](.+)\[\/u\]#isU";
$postbody = preg_replace($pattern,
'<u>\\1</u>',
$postbody);
$pattern = "#\[sup\](.+)\[\/sup\]#isU";
$postbody = preg_replace($pattern,
'<sup>\\1</sup>',
$postbody);
$pattern = "#\[sub\](.+)\[\/sub\]#isU";
$postbody = preg_replace($pattern,
'<sub>\\1</sub>',
$postbody);
$pattern = "#\[url\][\s]*([\S]*)[\s]*\[\/url\]#si";
$postbody = preg_replace_callback($pattern,
"url_replace",
$postbody);
$pattern = "#\[url[\s]*=[\s]*([\S]+)[\s]*\][\s]*([^\[]*)\[/url\]#isU";
$postbody = preg_replace_callback($pattern,
"url_replace_name",
$postbody);
return $postbody;
}
function url_replace($matches)
{
if(substr($matches[1], 0, 7) != "http://") $matches[1] = "http://".$matches[1];
return "<a href='$matches[1]' class=news_txt_lnk>$matches[1]</a>";
}
function url_replace_name($matches)
{
if(substr($matches[1], 0, 7) != "http://") $matches[1] = "http://".$matches[1];
return "<a href='$matches[1]' class=news_txt_lnk>$matches[2]</a>";
}
function split_text($matches)
{
return wordwrap($matches[1], 35, ' ',1);
}
?>
|
поясните пожалуйста как работает...не понятно как происходит именно добавление бб-кода при нажатии именно в поле с формой msg! я если например сделать добавление в другую форму каким образом? например name? | |
|
|
|
|