<?php
include './blocks/db.php';
if($_POST['submit']) { // если нажата кнопка в форме
$url = 'http://' . $_SERVER['HTTP_HOST'] . '/admin/del_comment.php';
if(sizeof($_POST['id']) > 0) { // если выбраны чекбоксы
foreach($_POST['id'] as $data) { // проходим циклом, все чекбоксы
mysql_query("DELETE FROM `comment` WHERE `id` = {$data} "); // удаляем, что надо
}
}
header('Refresh: 2; url=' . $url);
$ok_delete = "<center><b>Спасибо.</b></center>";
} else {
?>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru-ru" xml:lang="ru-ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Главная для удаления комментариев</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body leftMargin="0" topMargin="0">
<table class="table" cellpadding="0" cellspacing="0" width=100% height="100%">
<tr valign="top" height="50px" bgcolor="#a50f10" align="center">
<td valign="middle" colspan="2">
<?php
include './blocks/top.php';
?>
</td>
</tr>
<tr >
<?php
include './blocks/menu.php';
?>
<td valign="top">
<div style="margin-left: 10px; margin-top: 20px; text-decoration:none;">
<?php echo $ok_delete;?>
<div id="back">
<a href="index.php">Назад</a>
</div>
<H3>Админ. часть комментариев</H3>
<p>
<form action="" method="POST" class="comment-form">
<table width="95%" cellpadding="0" cellspacing="0" class="admin_table">
<tr bgcolor="#2b68ac" align="center" style="color: white; font-weight: bold; font-family: verdana; font-size: 12px;">
<th width="50px" height="25px">
</th>
<th width="100px" style="padding: 10px;">
Имя
</th>
<th widht="400px">
Текст
</th>
<th widht="100px">
Дата
</th>
<th>
Время
</th>
</tr>
<?php
// Переменная хранит число сообщений выводимых на станице
$num = 15;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("
SELECT COUNT(*)
FROM `comment`
") or die("Ошибка -".mysql_error());
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>
<?php
function mBwordwrap($text, $width = 40, $break = "<br />")
{
return preg_replace('#([^\s]{'. $width .'})#', '$1'. $break , $text);
}
$rows = mysql_query("
SELECT `id`,`id_mail`,`name`,`text`,`time`,`date`
FROM `comment`
ORDER BY `datetime`
DESC LIMIT $start, $num
") or die('Ошибка - ' . mysql_error());
while($myrow = mysql_fetch_assoc($rows)) {
echo '
<tr>
<td align=center style="padding: 10px;">
<input name="id[]" type="checkbox" value="'.$myrow['id'].'">
</td>
<td style="padding-left: 5px;">
'.$myrow['name'].'
</td>
<td style="padding-left: 5px;">
<a href="../page_view_you_mail.php?view='.$myrow['id_mail'].'" target="_blank">
' .nl2br(mBwordwrap($myrow['text'])). '</a>
</td>
<td style="padding-left: 5px;">
<span class="date">
'.$myrow['date'].'
</span>
</td>
<td style="padding-left: 5px;">
<span class="date">
'.$myrow['time'].'
</span>
</td>
</tr>
';
}
?>
</table>
<?php
$url = '<a class="dlet" href= ./del_comment.php>←|</a>';
$url_long = '<a class="dlet" href= ./del_comment.php?page=';
// Проверяем нужны ли стрелки назад
if ($page != 1)
$pervpage = ''.$url.''.$url_long.''. ($page - 1) .'>←</a>';
// Проверяем нужны ли стрелки вперед
if ($page != $total)
$nextpage = ''.$url_long.''. ($page + 1) .'>→</a>'.$url_long.'' .$total. '>|→</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0)
$page2left = ''.$url_long.''. ($page - 2) .'>'. ($page - 2) .'</a>';
if($page - 1 > 0)
$page1left = ''.$url_long.''. ($page - 1) .'>'. ($page - 1) .'</a>';
if($page + 2 <= $total)
$page2right = ''.$url_long.''. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 3 <= $total)
$page3right = ''.$url_long.''. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 4 <= $total)
$page4right = ''.$url_long.''. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 1 <= $total)
$page1right = ''.$url_long.''. ($page + 1) .'>'. ($page + 1) .'</a>';
?>
<!--Вывод меню на страницу-->
<table border="0" width="100%" align="center"><tr align="center">
<?php echo '<td align="center">
'.$pervpage.$page2left.$page1left.'<div id="dlet" class="dlet_active">
'.$page.'
</div>
'.$page1right.$page2right.$page3right.$page4right.$nextpage.'
</td>';?>
</tr></table>
<!--Вывод меню на страницу-->
<br />
<label>
<input type="submit" name="submit" value="Удалить" />
</label>
</form>
</p>
</div>
</td>
</tr>
</table>
</body>
</html>
<?php } ?>
Предоставляю полный на всякий случай... Суть кода проста.... сканирует таблицу в БД, а потом выводит комментарии... На самой странице все нормально, и кодировка самой странице и кодировка в БД так же правильная (utf8)...
Сама проблема, когда хочу удалить запись, по идее, должно появляться сообщение спасибо, и переброс на главную страницу, а выводятся иероглифы... Спасибо.
Спустя 5 минут, 27 секунд (19.03.2011 - 14:53) m4a1fox написал(а):
Наверняка, кодировку можно как-то передать через header, но как.... если кто сталкивался.... подскажите.
Спустя 14 минут, 18 секунд (19.03.2011 - 15:07) inpost написал(а):
m4a1fox
5 месяцев, когда ты уже возьмешь голову в руки и пройдешь курс irbis-team.com ? Или ты специально его избегаешь, чтобы писать такой кривой код постоянно?
5 месяцев, когда ты уже возьмешь голову в руки и пройдешь курс irbis-team.com ? Или ты специально его избегаешь, чтобы писать такой кривой код постоянно?
Спустя 18 минут, 18 секунд (19.03.2011 - 15:25) m4a1fox написал(а):
inpost
Укажите хотя бы на одну ошибку, что бы я понял....
Укажите хотя бы на одну ошибку, что бы я понял....
Спустя 8 минут, 33 секунды (19.03.2011 - 15:34) m4a1fox написал(а):
inpost
Все... я осознал... спасибо.
Все... я осознал... спасибо.
Спустя 14 минут, 43 секунды (19.03.2011 - 15:49) inpost написал(а):
m4a1fox
- Берёшь кривой пагинатор Попова: "А где ошибка?!".
- Нет doctype.
- Хоть бы чуточку стиля применил бы.
- MVC, разделение контроллера, представления - отсутствует, ядра тоже, кстати, даже минимального.
- объясни, почему ты написал именно так:
То есть зачем тебе в данном случае открытие и закрытие кавычек, при этом внутри пусто? Ты не знаешь, что можно разделять переменные просто точкой? $var1.$var2.$var3 , то есть разделение логической части.
Упращенное ядро: http://irbis-team.com/15/16/2
Цитатко из первого же абзаца: Основные и незыблемые две - кодировку и уровень ошибок, они прописаны первыми строчками индекса.
- Берёшь кривой пагинатор Попова: "А где ошибка?!".
- Нет doctype.
- Хоть бы чуточку стиля применил бы.
- MVC, разделение контроллера, представления - отсутствует, ядра тоже, кстати, даже минимального.
- объясни, почему ты написал именно так:
$page2left = ''.$url_long.'';
То есть зачем тебе в данном случае открытие и закрытие кавычек, при этом внутри пусто? Ты не знаешь, что можно разделять переменные просто точкой? $var1.$var2.$var3 , то есть разделение логической части.
Упращенное ядро: http://irbis-team.com/15/16/2
Цитатко из первого же абзаца: Основные и незыблемые две - кодировку и уровень ошибок, они прописаны первыми строчками индекса.
Спустя 26 минут, 18 секунд (19.03.2011 - 16:15) Trianon написал(а):
как кодировку, так и уровень ошибок можно (более того, достаточно удобно) глобально установить - для всего сайта.
А непосредственно тредстартеру вопрос такой:
Вы об отступах, при наборе исходного текста, слышали когда-нибудь?
Вот Вы показали код.
Вы полагаете его в таком виде будет хоть кто-нибудь предметно анализировать?
А непосредственно тредстартеру вопрос такой:
Вы об отступах, при наборе исходного текста, слышали когда-нибудь?
Вот Вы показали код.
Вы полагаете его в таком виде будет хоть кто-нибудь предметно анализировать?