Вообщем есть редактор тинимсе
есть такая структура:
получаем контент
$q = 'SELECT * FROM page WHERE id=1';
$res=$db->QuerySingleRowArray($q) or die(mysql_error());
$text=$res[1] ;
суем в текстериа контент
<textarea id=\"elm1\" name=\"elm1\" rows=\"15\" cols=\"80\" style=\"width: 80%\">
".$text."
</textarea>
а вот дальше я не знаю как измененный текст со всеми тегами в редакторе отправить в базу есть что то вроде такого
if (isset ($_POST['but'])) {
echo ("<script type=\"text/javascript\">
var text = tinyMCE.get('elm1').getContent();</script> "); /* в документации так
получают контент но по поему он его
так и не получает дальше хз как это правильней передать в пхп */
$update["text"] = MySQL::SQLValue($text);
$filter["id"] = 1;
$id = $db->UpdateRows("page", $update, $filter) or die(mysql_error());
echo ("Текст отредактирован");
При таком состоянии он возвращает редактор значения что хранится в базе при любых действиях что и не удивительно
astrologer
17.05.2009, 17:42
Как-нибудь так: function save()
{
var text = tinyMCE.get('elm1').getContent();
tinymce.util.XHR.send
({
url: 'saver.php',
data: 'text=' + encodeURIComponent(text)
});
};
не думаю
вот допустим сделать кнопку
<a href=\javascript:;\" onmousedown=\"alert(tinyMCE.get('elm1').getContent());\">[Get contents]</a> так все норм , а на строчку нижу
<script type=\"text/javascript\">
save() ;
</script> ");
так этот эрор
astrologer
18.05.2009, 00:14
не думаю
вот допустим сделать кнопку
<a href=\javascript:;\" onmousedown=\"alert(tinyMCE.get('elm1').getContent());\">[Get contents]</a> так все норм , а на строчку нижу
так этот эрор т.е. tinyMCE.init ты не вызываешь?
P.S. И эта "строчка ниже" будет исполняться сразу, как только браузер её встретит. Т.к. полного примера так и нет, остается догадываться о том, где же находится поле для редактирования и вызов метода init, если он вообще вызывается.
Полностью
<?php
if( ! defined( 'PROTECTED' ) ) {
die( "Хакера не пройдут!!" );
}
if(!$_SESSION['admin']) die ("Доступ закрыт");
$db = new MySQL(true, "$dbname", "localhost", "$dbuser", "$dbpass"); // конектимся
if ($db->Error()) $db->Kill();
$q = 'SELECT * FROM page WHERE id=1';
$res=$db->QuerySingleRowArray($q) or die(mysql_error());
$text=$res[1] ;
var_dump($text);
echo ("<script type=\"text/javascript\">
function save()
{
var text = tinyMCE.get('elm1').getContent();
tinymce.util.XHR.send
({
url: 'saver.php',
type : 'POST',
data: 'text=' + encodeURIComponent(text)
});
};
</script> ");
echo ('
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=cp-1251" />
<title>Административная панель</title>
<style type="text/css">
#wrap
{
width: 100%;
height: 100%;
}
.loginbox1
{
width: 300px;
padding: 4px;
border: 1px solid #777;
background-color: #777;
color: white;
font-weight: bold;
}
.loginbox2
{
width: 300px;
padding: 4px;
border: 1px solid #777;
color: #777;
}
</style>
</head>
<body>
<center>
<table cellpadding="0" cellspacing="0" id="wrap"><tr><td align="center">
<table cellpadding="0" cellspacing="0">
<tr><td class="loginbox1" align="center">Вход выполнен</td></tr>
<tr><td class="loginbox2" align="center">
<script type="text/javascript" src="../js/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "safari,pagebreak,style,layer,table,save,advhr,advi mage,advlink,emotions,iespell,inlinepopups,insertd atetime,preview,media,searchreplace,print,contextm enu,paste,directionality,fullscreen,noneditable,vi sualchars,nonbreaking,xhtmlxtras,template",
// Theme options
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethr ough,|,justifyleft,justifycenter,justifyright,just ifyfull,styleselect,formatselect,fontselect,fontsi zeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replac e,|,bullist,numlist,|,outdent,indent,blockquote,|, undo,redo,|,link,unlink,anchor,image,cleanup,help, code,|,insertdate,inserttime,preview,|,forecolor,b ackcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,su p,|,charmap,emotions,iespell,media,advhr,|,print,| ,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,st yleprops,|,cite,abbr,acronym,del,ins,attribs,|,vis ualchars,nonbreaking,template,pagebreak",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example content CSS (should be your site CSS)
content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
<form action="index.php?go=pagemain" method="post">
');
echo ("
<textarea id=\"elm1\" name=\"elm1\" rows=\"15\" cols=\"80\" style=\"width: 80%\">
".$text."
</textarea>
</div>
<!-- Some integration calls -->
<a href=\javascript:;\" onmousedown=\"alert(tinyMCE.get('elm1').getContent());\">[Get contents]</a>
<br />
<input type=\"submit\" name=\"but\" value=\"Войти\" />
</form>
</div>
");
echo ('
</td></tr>
</table>
</td></tr></table>
</center>
</body>
</html>
');
if (isset ($_POST['but'])) {
echo ("<script type=\"text/javascript\">
save() ;
</script> ");
include ("saver.php");
var_dump ($text) ;
$update["text"] = MySQL::SQLValue($text);
$filter["id"] = 1;
$id = $db->UpdateRows("page", $update, $filter) or die(mysql_error());
echo ("Текст отредактирован");
}
?>
saver.php
<?php
if( ! defined( 'PROTECTED' ) ) {
die( "Хакера не пройдут!!" );
}
if (isset ($_POST['text'])) {
$text=$_POST['text'];
var_dump ($text);
}
else {
echo ("text is null fuck(");
}
?>
вот как то так
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot