
Шустрый

Профиль
Группа: Участник
Сообщений: 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).'. <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. <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).'. <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
|