Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TinyMCE 
:(
    Опции темы
pushok
Дата 1.8.2011, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



Здравствуйте

Делаю страничку добавления/редактирования новостей (в одном php файле)
Интегрировал туда TinyMCE.

Отлично работал.

Начал добавлять загрузку файлов к новостям.
TinyMCE перестал работать.
При этом достаточно странно...
В зависимости от переменной пост запроса, у меня на экран выводится разное содержимое.
2 режима выводят почти одно и тоже, только разница в том что один выводит пустые формы (добавление), второй заполненные (редактирование).
И перестал работать только в 1 режиме. Т.е. если открыть эту страничку с другими переменными пост запроса, то редактор работает.

В чем выражается: к полю подключается, кнопки и прочее рисуется, но поля для ввода нет, вместо него задний фон.

Что делал:
1. закоментировал все что добавил - не помогло
2. попытался присвоить полю свойство дисплей = блок (что-то на английском не пишется, сорри)

в общем посмотрел на код, вроде ничего не изменилось.
поискал в интернете, про такое также не нашел

может быть кто-то сталкивался с таким. 

прикрепляю код странички на всякий случай

Код

<?php
<?php
// Страница изменения конкретной новостной записи

require_once 'user_auth.php';

// Начинается текст самой страницы
// Подключаем JavaScript Tiny MCE
echo '<head>
<script type="text/javascript" src="'.CONST_DIR_SCRIPTS_TINYMCE.'/tiny_mce.js" ></script >
<script type="text/javascript">
tinyMCE.init({
        mode : "textareas",
        theme : "advanced",
        plugins : "emotions,spellchecker,advhr,insertdatetime,preview", 
                
        // Theme options - button# indicated the row# only
        theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,fontselect,fontsizeselect,formatselect",
        theme_advanced_buttons2 : "cut,copy,paste,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,|,code,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "insertdate,inserttime,|,spellchecker,advhr,,removeformat,|,sub,sup,|,charmap,emotions",      
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true
});
</script>
</head>';

// Проверяем режим (0 - новая новость, 1 - редатирование новости, 2 - добавление новости в базу, 3 - изменение новости в базе)
// Режим (1) редактирование новости
if (isset($_REQUEST['page_regim']) && ($_REQUEST['page_regim']==1))
    {
    // Выдергиваем из базы данные новости
    $query="SELECT * FROM ".CONST_BD_TABLE_NEWS." WHERE id_news=".$_REQUEST['id_news'];
    $result_news=mysql_query($query);
    $id_news=$_REQUEST['id_news'];
    $news_title=mysql_result($result_news,0,'title');
    $news_text=mysql_result($result_news,0,'text');
    $news_time_post=mysql_result($result_news,0,'time_post');
    $news_time_publ=mysql_result($result_news,0,'time_publ');
    $news_id_user=mysql_result($result_news,0,'id_user');
    $news_img=mysql_result($result_news,0,'img');
    $news_public=mysql_result($result_news,0,'public');
    $news_last_edit=mysql_result($result_news,0,'last_edit');
    // Форма
    echo '<form name=form1 method=post enctype="multipart/form-data">';
    echo '<input type=hidden name=page_regim value=3>';
    echo '<input type=hidden name=id_news value='.$_REQUEST['id_news'].'>';
    // Данные в таблице
    echo '<table border=0 cellspacing=3 cellpadding=3>';
    // Дата создания
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG2.'>';
        echo '<td>Дата создания</td><td>'.$news_time_post.'</td>';
    echo '</tr>';
    // Последний редактирующий
    if ($USER_id==$news_id_user)
        {
        $news_author=$USER_name.' ['.$USER_login.']';
        }
    else
        {
        $query="SELECT login, name FROM ".CONST_BD_TABLE_USERS." WHERE id_user=".$news_id_user;
        $result_news_author=mysql_query($query);
        $news_author=mysql_result($result_news_author,0,'name').' ['.mysql_result($result_news_author,0,'login').']';
        }
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Дата последних изменений</td><td>'.$news_last_edit.'<br>'.$news_author.'</td>';
    echo '</tr>';
    // Дата публикации
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG2.'>';
        echo '<td>Дата публикации</td><td>'.$news_time_publ.'</td>';
    echo '</tr>';
    // Заголовок
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Заголовок новости</td><td><input name=news_title value="'.$news_title.'"></td>';
    echo '</tr>';
    // Текст
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG2.'>';
        echo '<td>Текст новости</td><td><textarea name=news_text>'.$news_text.'</textarea></td>';
    echo '</tr>';
    // Картинка
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Картинка к новости</td>';
        echo '<td>';
        if (Strlen($news_img)>0)
            {
            echo '<img src='.CONST_DIR_IMG_NEWS.'/'.$news_img.' border=0><br><br>';
            }
        echo '<input name=news_img type=file></td>';
    echo '</tr>';
    // Публикация
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG2.'>';
        echo '<td>Опубликовать новость</td><td><input type=checkbox name=news_publ value=1';
        if ($news_public==1)
            {
            echo ' checked';
            }
        echo '>';
        echo '<input type=hidden name=last_public value='.$news_public.'></td>';
    echo '</tr>';
    // Прикрепление файлов до CONST_NEWS_LIMIT_FILES
    // Вытаскиваем из базы список прикрепленных файлов
    /*
    $query="SELECT * FROM ".CONST_BD_TABLE_NEWS_FILES." WHERE id_news=".$id_news;
    $result_news_files=mysql_query($query);
    // Выводим файлы
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Прикрепить файлы</td>';
        echo '<td>';
        for($e=0;$e<mysql_num_rows($result_news_files);$e++)
            {
            echo $e.'. '.mysql_result($result_news_files,$e,'link').'<br>';
            }
        if (mysql_num_rows($result_news_files)<CONST_NEWS_LIMIT_FILES)
            {
            if (CONST_NEWS_LIMIT_FILES>1)
                {
                for($e=1;$e<=CONST_NEWS_LIMIT_FILES;$e++)
                    {
                    echo '<div id="file['.($e+1).']" style="display: none;">'.($e+1).'.&nbsp;<input name="news_file['.($e+1).']" type=file> ';
                    if ($e<CONST_NEWS_LIMIT_FILES)
                        {
                        echo '<input type=button value="+" OnClick="JavaScript: f_show_file('.($e+2).')"></div>';
                        }
                    }
                }        
            }
        echo '</td>';
    echo '</tr>';
    */
    // Отправить (submit)
    echo '<tr bgcolor='.CONST_COLOR_TABLE_HEAD.'>';
        echo '<td colspan=2 align=center><input type=button name=submit_button value="Изменить" OnClick="f_check_form();"></td>';
    echo '</tr>';
    // Отмена
    echo '<tr bgcolor='.CONST_COLOR_TABLE_HEAD.'>';
        echo '<td colspan=2 align=center><a href=user_edit_news.php>Отмена</a></td>';
    echo '</tr>';
    echo '</table>';
    echo '</form>';
    }
// Режим (2) добавление в базу
elseif (isset($_REQUEST['page_regim']) && ($_REQUEST['page_regim']==2))
    {
    // Проверяем публикация сразу или нет
    $news_publ_check=0;
    $news_publ_time="0000-00-00 00:00:00";
    if (isset($_REQUEST['news_publ']))
        {
        $news_publ_check=1;
        $news_publ_time=date("Y-m-d H:i:s");
        // Устанавливаем месяц публикации, если не было в базе
        $result_publ_times=mysql_query("SELECT * FROM ".CONST_BD_TABLE_NEWS_PUBL_MONTHS." WHERE year=".date("Y")." AND month=".date("m"));
        if (mysql_num_rows($result_publ_times)==0)
            {
            mysql_query("INSERT INTO ".CONST_BD_TABLE_NEWS_PUBL_MONTHS." VALUES(0,".date("Y").",".date("m").")");
            }
        // Устанавливаем год публикации, если не было в базе
        $result_publ_times=mysql_query("SELECT * FROM ".CONST_BD_TABLE_NEWS_PUBL_YEARS." WHERE year=".date("Y"));
        if (mysql_num_rows($result_publ_times)==0)
            {
            mysql_query("INSERT INTO ".CONST_BD_TABLE_NEWS_PUBL_YEARS." VALUES(0,".date("Y").")");
            }
        }
    // Проверяем была ли картинка
    if (Strlen($_FILES["news_img"]["name"])>0)
        // Тогда
        {
        // Проверяем загружен ли файл
        if(is_uploaded_file($_FILES["news_img"]["tmp_name"]))
            {
            // Удаляем старый файл
            // Получаем из базы имя старого файла
            $last_img=mysql_result(mysql_query("SELECT img FROM ".CONST_BD_TABLE_NEWS." WHERE id_news=".$_REQUEST['id_news']),0,0);
            unlink(dirname(__FILE__).CONST_DIR_IMG_NEWS.'/'.$last_img);
            // Запоминаем название файла
            $news_img=$_FILES["news_img"]["name"];
            // Если файл загружен успешно, перемещаем его
            // из временной директории в конечную
            move_uploaded_file($_FILES["news_img"]["tmp_name"], dirname(__FILE__).CONST_DIR_IMG_NEWS.'/'.$_FILES["news_img"]["name"]);
            // Записываем его в базу
            $query="UPDATE ".CONST_BD_TABLE_NEWS." SET img='".$news_img."' WHERE id_news=".$_REQUEST['id_news'];
            mysql_query($query);
            }
        }
    // Создаем запрос и выполняем его (добавляем в базу)
    $time_to_id=date("Y-m-d H:i:s");    // Для того чтобы потом выудить id_news
    $query="INSERT INTO ".CONST_BD_TABLE_NEWS." VALUES(0,'".$_REQUEST['news_title']."', '".$_REQUEST['news_text']."', '".$time_to_id."', '".$news_publ_time."', ".$USER_id.", '".$news_img."', ".$news_publ_check.",'".$time_to_id."')";
    //echo $query;
    mysql_query($query);
    // Выдергиваем из базы id новой новости и перенаправляем на страничку её редактирования
    $query="SELECT id_news FROM ".CONST_BD_TABLE_NEWS." WHERE time_post='".$time_to_id."'";
    $id_news=mysql_result(mysql_query($query),0,0);
    echo '<form method=post name=form1>';
    echo '<input type=hidden name=id_news value='.$id_news.'>';
    echo '<input type=hidden name=page_regim value=1>';
    echo '</form>';
    // Если были выбраны файлы, то подгружаем их
    for($e=1;$e<=CONST_NEWS_LIMIT_FILES;$e++)
        {
        /*
        // Проверяем загружен ли файл
        $news_file_title="news_files[".$e."]";
        if(is_uploaded_file($_FILES[$news_file_title["tmp_name"]))
            {
            // Запоминаем название файла
            $news_file=$_FILES[$news_file_title]["name"];
            // Если файл загружен успешно, перемещаем его
            // из временной директории в конечную
            move_uploaded_file($_FILES[$news_file_title]["tmp_name"], dirname(__FILE__).CONST_DIR_FILES_NEWS.'/'.$_FILES[$news_file_title]["name"]);
            // Записываем его в базу
            $query="INSERT INTO ".CONST_BD_TABLE_NEWS_FILES." VALUES(0,'".$news_file."', ".$id_news.")";
            mysql_query($query);
            }
            */
        }
    echo '<script>document.form1.submit();</script>';
    }
// Режим (3) изменение в базе
elseif (isset($_REQUEST['page_regim']) && ($_REQUEST['page_regim']==3))
    {
    // Проверяем публикация сразу или нет
    $news_publ_check=0;
    $news_publ_time="0000-00-00 00:00:00";
    if (isset($_REQUEST['news_publ']))
        {
        $news_publ_check=1;
        $news_publ_time=date("Y-m-d H:i:s");
        // Устанавливаем месяц публикации, если не было в базе
        $result_publ_times=mysql_query("SELECT * FROM ".CONST_BD_TABLE_NEWS_PUBL_MONTHS." WHERE year=".date("Y")." AND month=".date("m"));
        if (mysql_num_rows($result_publ_times)==0)
            {
            mysql_query("INSERT INTO ".CONST_BD_TABLE_NEWS_PUBL_MONTHS." VALUES(0,".date("Y").",".date("m").")");
            }
        // Устанавливаем год публикации, если не было в базе
        $result_publ_times=mysql_query("SELECT * FROM ".CONST_BD_TABLE_NEWS_PUBL_YEARS." WHERE year=".date("Y"));
        if (mysql_num_rows($result_publ_times)==0)
            {
            mysql_query("INSERT INTO ".CONST_BD_TABLE_NEWS_PUBL_YEARS." VALUES(0,".date("Y").")");
            }
        }
    // Создаем запрос и выполняем его (добавляем в базу)
    $time_today=date("Y-m-d H:i:s");
    $query="UPDATE ".CONST_BD_TABLE_NEWS." SET last_edit='".$time_today."', public=".$news_publ_check;
    if ($news_publ_check!=$_REQUEST['last_public'])
        {
        if ($_REQUEST['last_public']==0)
            {
            $query=$query.", time_publ='".$news_publ_time."'";
            }
        }
    $query=$query.", title='".$_REQUEST['news_title']."', text='".$_REQUEST['news_text']."', id_user=".$USER_id;
    $query=$query." WHERE id_news=".$_REQUEST['id_news'];
    mysql_query($query);
    // Проверяем была ли картинка
    if (Strlen($_FILES["news_img"]["name"])>0)
        // Тогда
        {
        // Проверяем загружен ли файл
        if(is_uploaded_file($_FILES["news_img"]["tmp_name"]))
            {
            // Вынимаем из базы название файла, который был (если был)
            $query="SELECT img FROM ".CONST_BD_TABLE_NEWS." WHERE id_news=".$_REQUEST['id_news'];
            $news_img_last=mysql_result(mysql_query($query),0,0);
            // Если файл загружен успешно, перемещаем его
            // из временной директории в конечную
            move_uploaded_file($_FILES["news_img"]["tmp_name"], dirname(__FILE__).CONST_DIR_IMG_NEWS.'/'.$_FILES["news_img"]["name"]);
            // Запоминаем название файла
            $news_img=$_FILES["news_img"]["name"];
            // Записываем его в базу
            $query="UPDATE ".CONST_BD_TABLE_NEWS." SET img='".$news_img."' WHERE id_news=".$_REQUEST['id_news'];
            mysql_query($query);
            // Проверяем, если ранее была другая картинка, то удаляем её
            if ((StrLen($news_img_last)>0) && ($news_img_last!=$news_img))
                {
                unlink(dirname(__FILE__).CONST_DIR_IMG_NEWS.'/'.$news_img_last);
                }
            }
        }
    //echo $query;
    echo '<form method=post name=form1>';
    echo '<input type=hidden name=id_news value='.$_REQUEST['id_news'].'>';
    echo '<input type=hidden name=page_regim value=1>';
    echo '<input type=submit>';
    echo '</form>';
    echo '<script>document.form1.submit();</script>';
    }
// Режим (0) новая новость
else
    {
    // Форма
    echo '<form name=form1 method=post enctype="multipart/form-data">';
    echo '<input type=hidden name=page_regim value=2>';
    // Данные в таблице
    echo '<table border=0 cellspacing=3 cellpadding=3>';
    // Заголовок
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Заголовок новости</td><td><input name=news_title></td>';
    echo '</tr>';
    // Текст
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG2.'>';
        echo '<td>Текст новости</td><td><textarea name=news_text style="display: block;"></textarea></td>';
    echo '</tr>';
    // Картинка
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Картинка к новости</td>';
        echo '<td><input name=news_img type=file></td>';
    echo '</tr>';
    // Публикация
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG2.'>';
        echo '<td>Опубликовать новость</td><td><input type=checkbox name=news_publ value=1></td>';
    echo '</tr>';
    /*
    // Прикрепление файлов до CONST_NEWS_LIMIT_FILES
    echo '<tr bgcolor='.CONST_COLOR_TABLE_BG1.'>';
        echo '<td>Прикрепить файлы</td>';
        echo '<td>1.&nbsp;<input name="news_file[1]" type=file> <input type=button value="+" OnClick="JavaScript: f_show_file(2)">';
        if (CONST_NEWS_LIMIT_FILES>1)
            {
            for($e=1;$e<=CONST_NEWS_LIMIT_FILES;$e++)
                {
                echo '<div id="file['.($e+1).']" style="display: none;">'.($e+1).'.&nbsp;<input name="news_file['.($e+1).']" type=file> ';
                if ($e<CONST_NEWS_LIMIT_FILES)
                    {
                    echo '<input type=button value="+" OnClick="JavaScript: f_show_file('.($e+2).')"></div>';
                    }
                }
            }        
        echo '</td>';
    echo '</tr>';
    */
    // Отправить (submit)
    echo '<tr bgcolor='.CONST_COLOR_TABLE_HEAD.'>';
        echo '<td colspan=2 align=center><input type=button name=submit_button value="Добавить" OnClick="f_check_form();"></td>';
    echo '</tr>';
    // Отмена
    echo '<tr bgcolor='.CONST_COLOR_TABLE_HEAD.'>';
        echo '<td colspan=2 align=center><a href=user_edit_news.php>Отмена</a></td>';
    echo '</tr>';
    echo '</table>';
    echo '</form>';
    }
?>

<script>

function f_check_form()
    {
    var check=0;
    if (document.form1.news_title.value.length==0)
        {
        check=1;
        alert("Вы не ввели заголовок новости");
        }
    if (check==0)
        {
        document.form1.submit();
        }
    }

function f_show_file(id)
    {
    document.getElementById("file["+id+"]").style.display="block";
    }

</script>


Это сообщение отредактировал(а) pushok - 1.8.2011, 14:44
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0867 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.