сам писал?
есть кой у меня скрипт который должен добавлять и редактировать новости то про добавлении или редактировании оно не чего не делает
PHP код:
<link rel="stylesheet" type="text/css" media="all" href="images/calendar.css" title="win2k-cold-1" />
<script type="text/javascript" src="images/calendar.js"></script>
<script type="text/javascript" src="images/calendas.js"></script>
<script type="text/javascript" src="images/calendat.js"></script>
<? include ("editor.php") ?>
<?php
if(($_REQUEST['mod'] == "main") || ($_REQUEST['mod']==""))
{
?>
<strong><a href="/admin/index.php?f=news&mod=add"> Добавить новость </a></strong><br>
<? require ('pag.inc.php');
$perpage = "25"; // Количество отображаемых данных из БД
if (empty($_REQUEST['page']) || ($_REQUEST['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_REQUEST['page']; // Считывание текущей страницы
}
// Общее количество информации
$count = mysql_numrows(mysql_query('select * from data '));
$pages_count = ceil($count / $perpage); // Количество страниц
// Если номер страницы оказался больше количества страниц
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
// Вызов функции, для вывода ссылок на экран
//
if($_REQUEST['action1']=='edit')
{
if(isset($_POST['go_ed']))
{
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset($title);}}
if (isset($_POST['date'])) {$date = $_POST['date']; if ($date == '') {unset($date);}}
if (isset($_POST['description'])) {$description = $_POST['description']; if ($description == '') {unset($description);}}
if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset($text);}}
if (isset($_POST['author'])) {$author = $_POST['author']; if ($author == '') {unset($author);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
if (isset($title) && isset($date) && isset($description) && isset($text) && isset($author))
{
/* Здесь пишем что можно заносить информацию в базу */
if (mysql_query ("UPDATE data SET
title='$title',
date='$date',
description='$description',
text='$text',
author='$author'
WHERE id='$id'"))
{
echo "<div class='clean-ok'><br><p>Ваша новость успешно обновлена!<br><a href='/admin/index.php?f=news'>Вернутся назад</a></p></div>";
}
else
{
echo "<div class='clean-yellow'>Не удалось обработать базой!</div>";
}
}
else
{
echo "<div class='clean-error'><p>Вы ввели не всю информацию</p></div>";
}
}
else
{
$q_i=mysql_query("SELECT * FROM data WHERE id='".$_REQUEST['id']."' ");
$myrow = mysql_fetch_array($q_i);
$result2 = mysql_query("SELECT id,title FROM categories");
$myrow2 = mysql_fetch_array($result2);
$count = mysql_num_rows($result2);
?>
<form method="POST" action="">
<?
print <<<HERE
<p>
Введите название<br>
<input value="$myrow[title]" style="border:1px silver solid; width:160px;" type="text" name="title" id="title">
</p>
<p>
<input value="$myrow[author]" style="border:1px silver solid; width:160px;" type="hidden" name="author" id="author">
</p>
<p>
Введите дату<br>
<input value="$myrow[date]" style="border:1px silver solid; width:160px;" name="date" type="text" id="date" value="2007-01-27">
<img src="images/calendar_logo.gif" style=" width:28px;" align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" title="Выбор даты с помощью календаря"/>
<script type="text/javascript">
Calendar.setup({
inputField : "date", // id of the input field
ifFormat : "%Y-%m-%d", // format of the input field
button : "f_trigger_c", // trigger for the calendar (button ID)
align : "Br", // alignment
timeFormat : "24",
singleClick : true
});
</script>
</p>
<p>
<p>Краткая новость</p>
<textarea style="width:90%; height:240px;" name="description" id="description" cols="60" rows="10">$myrow[description]</textarea>
</p>
<p>
<p>Полная новость</p>
<textarea style="width:90%; height:360px;" name="text" id="text" cols="60" rows="30">$myrow[text]</textarea>
</p>
<input name="id" type="hidden" value="$myrow[id]">
HERE;
print <<<HERE
<p style="padding-top:10px;">
<input type="submit" name="go_ed" style='border:1px silver solid; width:160px; ' id="submit" value="Сохранить изменения">
</p>
</form>
HERE;
}
?>
</form>
<?
}
else
{
if($_REQUEST['action1']=="del")
{
if(mysql_query('DELETE FROM data WHERE id= "'.$_REQUEST['id'].'"'))
{
echo '<br><div class="clean-ok">Новость успешно удалена. Вернуться <a href="?mod=editnews&page='.$_REQUEST['page'].'">назад</a></div></br>';
}
else
{
echo "<div class='clean-gray'>Ошибка удаления</br></div>";
$dar=mysql_error();
echo $dar;
}
}
echo '<br><table width="98%" class="form_table" cellpadding="0" cellspacing="0">
<tr>
<th align="left" class="String" ><b>Название</b></td>
<th align="center" class="String" width="26"><b>Действие</b></td>
<th align="center" class="String" width="26"><b>ID</b></td>
</tr>';
//
$result = mysql_query('select * from data ORDER BY id desc limit '.$start_pos.', '.$perpage);
echo "<div style='padding-left:30px;'>";
for ($c=0; $c<mysql_num_rows($result); $c++)
{
$f = mysql_fetch_array($result);
echo '<tr>
<td class="String">'.$f['title'].'</td>
<td class="String" ><center><a href=?f=news&action1=edit&id='.$f['id'].'><img border="0" alt="Редактировать новость" src="images/look.jpg"></a> <a onClick="return confirm(\'Действительно удалить новость?\');" href=?f=news&action1=del&id='.$f['id'].'><img border="0" alt="Удалить новость" src="images/del.png"></a></center></td>
<td class="String"><center>'.$f['id'].'</center></td>
</tr>';
}
echo '</table>';
if(mysql_num_rows($result)=='0')
{
echo "<div class='clean-gray'>Нет проектов для отображения</div>";
}
echo '<br>';
universal_link_bar($page, $count, $pages_count, 10);
echo "</div>";
}
}
?>
<?
//Добавление новостей
if($_REQUEST['mod'] == "add")
{
?>
<?
if(isset($_POST['go_add']))
{
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset($title);}}
if (isset($_POST['date'])) {$date = $_POST['date']; if ($date == '') {unset($date);}}
if (isset($_POST['description'])) {$description = $_POST['description']; if ($description == '') {unset($description);}}
if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset($text);}}
if (isset($_POST['author'])) {$author = $_POST['author']; if ($author == '') {unset($author);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
if ($_POST['title']!="" && $_POST['date']!="" && $_POST['description']!="" && $_POST['author']!="" )
{
if (mysql_query ("INSERT INTO data SET
title='".$title."',
date='".$date."',
description='".$description."',
text='".$text."',
author='".$author."'"))
{
echo "<div class='clean-ok'>Новость успешно добавлена!<br><a href='/admin/index.php?f=news&mod=add'>Добавить ещё.</a></p></div>";
}
else
{
echo "<div class='clean-gray'>Неудалось обработать базой<div>";
$dar=mysql_error();
echo $der;
}
}
else
{
echo "<div class='clean-error'><p>Незаполнена вся инфа.</p></div>";
}
}
else
{
$q_i=mysql_query("SELECT * FROM data");
$myrow = mysql_fetch_array($q_i);
$result2 = mysql_query("SELECT id,title FROM categories");
$myrow2 = mysql_fetch_array($result2);
$count = mysql_num_rows($result2);
?>
<form name="form1" method="post" action="">
<p>
Введите название <br>
<input type="text" style="border:1px silver solid; width:160px;" name="title" id="title">
</p>
<p>
Введите автора <br>
<input name="author" style="border:1px silver solid; width:160px; type="text" id="author" value="Admin" >
</p>
Введите дату добавления <br>
<input name="date" style="border:1px silver solid; width:160px;" type="text" id="date" value="<?php $date = date("Y-m-d"); echo $date; ?>">
<img src="images/calendar_logo.gif" style=" width:28px;" align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" title="Выбор даты с помощью календаря"/>
<script type="text/javascript">
Calendar.setup({
inputField : "date", // id of the input field
ifFormat : "%Y-%m-%d", // format of the input field
button : "f_trigger_c", // trigger for the calendar (button ID)
align : "Br", // alignment
timeFormat : "24",
singleClick : true
});
</script>
<br>
<p>
Краткая новость<br>
<textarea style="width:90%; height:240px;" name="description" cols="80" ></textarea>
</p>
<p>
Полная новость<br>
<textarea style="width:90%; height:260px;" name="text" cols="80" ></textarea>
</p>
<input type="submit" name="go_add" style="border:1px silver solid; width:160px;" id="submit" value="Отправить">
</form>
<?
}
} ?>
сам писал?
Иногда я просто ангел
Http://WindowsHelp.at.ua
Ну во превых там работа с базами, т.е надо их иметь (или создать). Во вторых не вижу подключения к базе, сразу идет выборка данных.
В-третьихесть ли этот файл editor.php? Та еще и точка с запятой не помешаетPHP код:
include ("editor.php")
Это при первом взгляде.PHP код:
include ("editor.php");
Скажи для чего конкретно скрипт, попробую посоветовать что то удобное и простое.
editor.php
PHP код:
<script language="javascript" type="text/javascript" src="../include/timymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
language : "ru",
plugins : "imagemanager,filemanager,layer,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras",
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,sub,sup,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull,|,image,forecolor,backcolor,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "link,unlink,anchor,emotions,media,charmap,nonbreaking,|,styleprops,attribs,|,visualaid,fullscreen,code",
theme_advanced_buttons3 : "",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
Сразу видно, что написано по Попову, когда придется что-то править или добавлять, сам черт ногу сломает. Ну ладно, это лирика. Теперь по делу.
К скрипту подключаются два файла:
editor.php
pag.inc.php
За что отвечают каждый из этих файлов?
В результате выполнения скрипта выдается ли ошибка, если выдается, то какая?
Перед закрывающим тегом ?> точку с запятой ставить необязательно.Та еще и точка с запятой не помешает
Необязательно, но все должно быть прально. Потом ищи ошибки (забыл поставить {} после ифа, когда была одна строка потом добавилось еще пару, а {} естесно забыл добавить.)
Вы знаете это? А вы? Это знает только автор скрипта....
Могу предположить что editor.php - сам код редактора, а pag.inc.php - пагинация страниц.
Последний раз редактировалось MickyMaus; 23.11.2009 в 23:26.
pag.inc.php
PHP код:
<?
function universal_link_bar($page, $count, $pages_count, $show_link)
{
// $show_link - это количество отображаемых ссылок;
// нагляднее будет, когда это число будет парное
// Если страница всего одна, то вообще ничего не выводим
if(isset($_REQUEST['s_id']))
{
$sid="s_id=".$_REQUEST['s_id']."&";
}elseif((isset($_REQUEST['s_id'])) && (isset($_REQUEST['order']))){
$sid="s_id=".$_REQUEST['s_id']."&order=".$_REQUEST['order']."&";
}else{
$sid="";
}
if(isset($_REQUEST['order']))
{
$order='&order='.$_REQUEST['order'].'&';
}
else
{
$order='';
}
if ($pages_count == 1) return false;
$sperator = '|'; // Разделитель ссылок; например, вставить "|" между ссылками
// Для придания ссылкам стиля
$style = '';
$begin = $page - intval($show_link / 2);
unset($show_dots); // На всякий случай :)
// Сам постраничный вывод
// Если количество отображ. ссылок больше кол. страниц
if ($pages_count <= $show_link + 1) $show_dots = 'no';
// Вывод ссылки на первую страницу
if (($begin > 2) && !isset($show_dots) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href=?mod=editnews&'.$sid.$order.'page=1> |< </a> ';
}
for ($j = 0; $j < $page; $j++) {
// Если страница рядом с концом, то выводить ссылки перед идущих для того,
// чтобы количество ссылок было постоянным
if (($begin + $show_link - $j > $pages_count) && ($pages_count-$show_link + $j > 0)) {
$page_link = $pages_count - $show_link + $j; // Номер страницы
// Если три точки не выводились, то вывести
if (!isset($show_dots) && ($pages_count-$show_link > 1)) {
echo ' <a '.$style.' href=?mod=editnews&'.$sid.$order.'page='.($page_link - 1).'><font color="#999999"><b>...</b></font></a> ';
// Задаем любое значение для того, чтобы больше не выводить в начале "..." (три точки)
$show_dots = "no";
}
// Вывод ссылки
echo ' <a '.$style.' href=?'.$sid.$order.'page='.$page_link.'>'.$page_link.'</a> '.$sperator;
} else continue;
}
for ($j = 0; $j <= $show_link; $j++) // Основный цикл вывода ссылок
{
$i = $begin + $j; // Номер ссылки
// Если страница рядом с началом, то увеличить цикл для того,
// чтобы количество ссылок было постоянным
if ($i < 1) {
$show_link++;
continue;
}
// Подобное находится в верхнем цикле
if (!isset($show_dots) && $begin > 1) {
echo ' <a '.$style.' href=?mod=editnews&'.$sid.$order.'page='.($i-1).'><font color="#999999"><b>...</b></font></a> ';
$show_dots = "no";
}
// Номер ссылки перевалил за возможное количество страниц
if ($i > $pages_count) break;
if ($i == $page) {
echo ' <a '.$style.' ><font color="#999999"><b>'.$i.'</b></font></a> ';
} else {
echo ' <a '.$style.' href=?mod=editnews&'.$sid.$order.'page='.$i.'>'.$i.'</a> ';
}
// Если номер ссылки не равен кол. страниц и это не последняя ссылка
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
// Вывод "..." в конце
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a '.$style.' href=?mod=editnews&'.$sid.$order.'page='.($i+1).'><font color="#999999"><b>...</b></font></a> ';
}
}
// Вывод ссылки на последнюю страницу
if ($begin + $show_link + 1 < $pages_count) {
echo ' <a '.$style.' href=?mod=editnews&'.$sid.$order.'page='.$pages_count.'> >| </a>';
}
return true;
} // Конец функции
?>
Давай не будем догматиками как правильно, а как нет, синтаксических ошибок в коде нет. Если придираться к стилистике кода то у меня нет слов. Лучше помочь автору разобраться почему скрипт не работает, если он сам не может найти в чем проблема.
В общем сложно что-либо посоветовать без результатов работы скрипта. Допускаю, что ошибка может находиться в отправляющей форме, уже нашел одну.
Не стоит закрывающая ковычка в атрибуте style.PHP код:
<input name="author" style="border:1px silver solid; width:160px; type="text" id="author" value="Admin" >
Но даже если по кусочкам латать код, этого может оказаться недостаточно.
Последний раз редактировалось maxtet; 23.11.2009 в 23:52.
editor.php выводит только Javascript редактора TinyMCE на страницу и не содержит, как я понял, значимого серверного кода.
page.inc.php - отвечает за вывод постраничного навигатора и тоже не содержит ничего что могло бы повлиять на основной процессор.
Теперь несколько советов по отладке кода, работающего с базой.
После каждой строчки содержащей запрос к базе, например:
$q_i = mysql_query(.......);
Поставь:
if(!$q_i) echo __FILE__.':'.__LINE__.':'.mysql_error();
сразу увидишь где и почему не получилось провести запрос.
Последний раз редактировалось Wolfshadow; 24.11.2009 в 13:42.
Linux, Apache, PHP, MySQL, Javascript, CSS, XHTML
http://vkontakte.ru/id7182971