[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Востановление после Попова
Guest
Я учился по курсах Е.Попова, и создаю сайт на основе этих уроков. Но теперь хочу переделать все и сделать как надо. без do while и т.д.
я выложу несколько страниц в старом формате и в новом. Посмотрите, исправте, посоветуйте.

<? include ("blocks/bd.php");
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>
Доска объявлений</title>
<link
href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table
width="100%" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?
include("blocks/header.php"); ?>
<tr>
<td
valign="top">
<?
include("blocks/nav.php"); ?>
<table
width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<?
include("blocks/lefttd.php"); ?>
<td
valign="top">
<h2>
Доска объявлений</h2>
<table
align='center' class="kab" cellspacing="0" cellpadding="0">

<tr>
<td>

<br>
<table><tr><td>
<p> <a
href='new_obyava.php'>
<img
class="dobav" src='img/includ/dato.png'>
</a></td>
<?php

$result10 = mysql_query ("SELECT COUNT(*) FROM kuplu",$db);
$sum = mysql_fetch_array($result10);

$result101 = mysql_query ("SELECT ALL(view) FROM kuplu WHERE view=view",$db);
$sum3 = mysql_fetch_array($result101);

echo "<td>        <span class='stat'>Всего объявлений: ($sum[0])</span> </p></td></tr></table>
"
;

?>
<table
width="100%">
<tr>
<td><br>


<?



$num = 10;
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM kuplu");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения

$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>

<?

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}

?>
<?



/* Пробую еще один запрос на куплю продам */

$result8 = mysql_query ("SELECT * FROM kuplu ORDER BY id DESC LIMIT $start, $num",$db);

if (!$result8)
{
echo "<p>Запрос не прошел, parabolan@rambler.ru код ошибки: </p>";
exit (mysql_error());
}
if (mysql_num_rows($result8) > 0)
{
$myrow8 = mysql_fetch_array($result8);
$new_view = $myrow8["view"] + 1;
$update = mysql_query("UPDATE kuplu SET view='$new_view' WHERE id='$id'",$db);

do
{
printf ("
<table class='post_2'>
<tr>
<td class='das'><img class='strel' align='left' src='img/includ/xmar.png'>
<a class='nav_link78' href='v_obyavlenie.php?id=%s'>%s</a>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td class='trw'>
<a href='v_obyavlenie.php?id=%s'> <img class='mini2a' align='left' src='%s' alt='%s'></a>
</td>
<td class='k'>
<div class='m_text'>%s</div>
<div class='post_adds'><strong>Город:</strong> %s  
<img src='img/includ/konvert.png'>
<strong>Email:</strong> <a href='mailto:%s'>Отправить письмо</a> 
<img src='img/includ/tel.png'>
<strong>Тел:</strong> %s</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class='niz'> <div class='post_view'>
<img class='gal' src='img/includ/gal.png'>
Дата розмещения: %s
<img src='img/includ/lupa.png'>
Просмотров: %s  | 
Добавил: <span class='polz'>%s</span>

</div></td>
</tr>
</table><br>"
,$myrow8["id"],$myrow8["title"],$myrow8["id"],$myrow8["fupload"],$myrow8["title"],$myrow8["text"],
$myrow8["city"],$myrow8["mail"],$myrow8["tel"],$myrow8["dater"],$myrow8["view"],$myrow8["author"]
);

}
while ($myrow8 = mysql_fetch_array($result8));

?>



</td>
</tr>
</table>
<br>
<?

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}

else
{
echo "<p>не вишло</p>";
exit ();
}

?>
</td>
</tr>
</table><br>

<?
include("blocks/reklama.php"); ?> </td>
</tr>
</table></td>
</tr>
<?
include("blocks/footer.php"); ?>
</table>
</body>
</html>





новый формат, только здесь наверное ошибки


<? include ("blocks/bd.php");
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>
Доска объявлений</title>
<link
href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table
width="100%" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?
include("blocks/header.php"); ?>
<tr>
<td
valign="top">
<?
include("blocks/nav.php"); ?>
<table
width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<?
include("blocks/lefttd.php"); ?>
<td
valign="top">
<h2>
Доска объявлений</h2>
<table
align='center' class="kab" cellspacing="0" cellpadding="0">

<tr>
<td>

<br>
<table><tr><td>
<p> <a
href='new_obyava.php'>
<img
class="dobav" src='img/includ/dato.png'>
</a></td>
<?php

$result10 = mysql_query ("SELECT COUNT(*) FROM kuplu",$db);
$sum = mysql_fetch_array($result10);

$result101 = mysql_query ("SELECT ALL(view) FROM kuplu WHERE view=view",$db);
$sum3 = mysql_fetch_array($result101);

echo "<td>        <span class='stat'>Всего объявлений: ($sum[0])</span> </p></td></tr></table>
"
;

?>
<table
width="100%">
<tr>
<td><br>


<?



$num = 10;
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM kuplu");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения

$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>

<?

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}

?>
<?



/* Пробую еще один запрос на куплю продам */

$result8 = mysql_query ("SELECT * FROM kuplu ORDER BY id DESC LIMIT $start, $num",$db);

$new_view = $myrow8["view"] + 1;
$update = mysql_query("UPDATE kuplu SET view='$new_view' WHERE id='$id'",$db);

while ($myrow8 = mysql_fetch_array($result8))
{
printf ("
<table class='post_2'>
<tr>
<td class='das'><img class='strel' align='left' src='img/includ/xmar.png'>
<a class='nav_link78' href='v_obyavlenie.php?id=%s'>%s</a>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td class='trw'>
<a href='v_obyavlenie.php?id=%s'> <img class='mini2a' align='left' src='%s' alt='%s'></a>
</td>
<td class='k'>
<div class='m_text'>%s</div>
<div class='post_adds'><strong>Город:</strong> %s  
<img src='img/includ/konvert.png'>
<strong>Email:</strong> <a href='mailto:%s'>Отправить письмо</a> 
<img src='img/includ/tel.png'>
<strong>Тел:</strong> %s</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class='niz'> <div class='post_view'>
<img class='gal' src='img/includ/gal.png'>
Дата розмещения: %s
<img src='img/includ/lupa.png'>
Просмотров: %s  | 
Добавил: <span class='polz'>%s</span>

</div></td>
</tr>
</table><br>"
,$myrow8["id"],$myrow8["title"],$myrow8["id"],$myrow8["fupload"],$myrow8["title"],$myrow8["text"],
$myrow8["city"],$myrow8["mail"],$myrow8["tel"],$myrow8["dater"],$myrow8["view"],$myrow8["author"]
);




?>



</td>
</tr>
</table>
<br>
<?

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}




?>
</td>
</tr>
</table><br>

<?
include("blocks/reklama.php"); ?> </td>
</tr>
</table></td>
</tr>
<?
include("blocks/footer.php"); ?>
</table>
</body>
</html>





Спустя 2 минуты, 19 секунд (7.07.2010 - 17:29) DedMorozzz написал(а):
В вопрос не вникал, но наверое надобно сие http://phpforum.ru/index.php?showtopic=219...=0&#entry205655

Спустя 8 минут, 28 секунд (7.07.2010 - 17:38) Basili4 написал(а):
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}

замени на
$id=isset($_GET['id'])?(int)$_GET['id']:1;

вот это убей
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}

<? - не используй короткий тип тега на некоторых хостах он может быть отключен только <?php

@$page = $_GET['page']; не используй @ - забивание вывода ошибок ошибки должны быть обработаны

$page=isset($_GET['page']?(int)$_GET['page']:1;

вообщем тут править и править

Спустя 17 минут, 8 секунд (7.07.2010 - 17:55) Gabriel написал(а):
if (!preg_match("|^[\d]+$|", $id)) exit ("<p>Неверный формат запроса! Проверьте URL!");
$temp = mysql_fetch_array($result00);

дальше даже всматриваться не стал.
1 как сказали выше число али нет можно проверить без регулярок (intval(), is_numeric(),.......).
2 зачем использовать mysql_fetch_array();? прекрасно подходит mysql_fetch_row(); ну а коли юзаем его для большого кл-ва данных то либо поставить 2й параметр, либо использовать mysql_fetch_assoc();
3 а printf лутше заменить на echo ну или print.

Спустя 3 минуты, 43 секунды (7.07.2010 - 17:59) DedMorozzz написал(а):
Ппц, ну вы даёте, такие портянки читать smile.gif

Спустя 6 минут, 4 секунды (7.07.2010 - 18:05) Basili4 написал(а):
Как то заметил что Попов везде использует printf. я спициально искал хоть какую дитературу чтоб было рекомендовано для обычного вывода использовать printf не нашел спрашивается где он (Попов) у кого учился. Ну не может же так чел прийти ни начать писать кривой код кто же его научил. Я долго думал может я гоню но не одной причины использовать printf не видел эти %s в тексте теряются на 1 2 3. Не понимаю я его вообще ни как.

Спустя 12 минут, 15 секунд (7.07.2010 - 18:17) Gabriel написал(а):
DedMorozzz
я не читал я пробежал колесиком мышки smile.gif
Basili4
да зечем искать литературу с рекомендациями для использования данной функции для вывода обычного текста? достаточно зайти на php.net и почитать про нее.
Цитата
printf

(PHP 4, PHP 5)

printf — Output a formatted string

а чего он там форматирует фик его знаетЬ.

Спустя 1 час, 14 минут, 43 секунды (7.07.2010 - 19:32) KaFe написал(а):
Цитата (Basili4 @ 7.07.2010 - 15:05)
Как то заметил что Попов везде использует printf.

Человек просто много работал с C наверное wink.gif .

Спустя 4 минуты, 15 секунд (7.07.2010 - 19:36) Basili4 написал(а):
KaFe
И...... как связан c с printf там нет простого не форматированного вывода в консоль ????????

Спустя 20 минут, 28 секунд (7.07.2010 - 19:56) Ice написал(а):
там есть cout

Спустя 11 минут, 45 секунд (7.07.2010 - 20:08) Guest написал(а):
$id=isset($_GET['id']?(int)$_GET['id']:1;

не катит, пишет ошибку
Parse error: syntax error, unexpected '?', expecting ',' or ')' in Z:\home\localhost\www\ALLDOG\obyavlenie.php on line 4

Спустя 2 минуты, 11 секунд (7.07.2010 - 20:10) twin написал(а):
Я встречал пару лет назад прямо такой же код. С do... while, printf и прочими изысками. Источника сейчас не найду конечно, но он явно оттуда схватил.
Просто он, не разбираясь особо, перевел первый попавшийся самоучитель в видеокурс.

Guest
Скобочки посчитай.

Спустя 15 минут, 29 секунд (7.07.2010 - 20:26) Guest написал(а):
гляньте так, ну чето пишет Неверный формат запроса! Проверьте URL! и по моиму тут со скобками проблемы

<?php  include ("blocks/bd.php"); 
if (!preg_match("|^[\d]+$|", $id)) exit ("<p>Неверный формат запроса! Проверьте URL!");

$id=isset($_GET['id'])?(int)$_GET['id']:1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>
Доска объявлений</title>
<link
href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table
width="100%" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?php
include("blocks/header.php"); ?>
<tr>
<td
valign="top">
<?php
include("blocks/nav.php"); ?>
<table
width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php
include("blocks/lefttd.php"); ?>
<td
valign="top">
<h2>
Доска объявлений</h2>
<table
align='center' class="kab" cellspacing="0" cellpadding="0">

<tr>
<td>

<br>
<table><tr><td>
<p> <a
href='new_obyava.php'>
<img
class="dobav" src='img/includ/dato.png'>
</a></td>
<?php

$result10 = mysql_query ("SELECT COUNT(*) FROM kuplu",$db);
$sum = mysql_fetch_row($result10);

$result101 = mysql_query ("SELECT ALL(view) FROM kuplu WHERE view=view",$db);
$sum3 = mysql_fetch_row($result101);

echo "<td>        <span class='stat'>Всего объявлений: ($sum[0])</span> </p></td></tr></table>
"
;

?>
<table
width="100%">
<tr>
<td><br>


<?php



$num = 10;
// Извлекаем из URL текущую страницу
$page=isset($_GET['page'])?(int)$_GET['page']:1;
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM kuplu");
$temp = mysql_fetch_row($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения

$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>

<?php

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}

?>
<?php



/* Пробую еще один запрос на куплю продам */

$result8 = mysql_query ("SELECT * FROM kuplu ORDER BY id DESC LIMIT $start, $num",$db);

$new_view = $myrow8["view"] + 1;
$update = mysql_query("UPDATE kuplu SET view='$new_view' WHERE id='$id'",$db);

while ($myrow8 = mysql_fetch_assoc($result8))
{
print "<table class='post_2'>
<tr>
<td class='das'><img class='strel' align='left' src='img/includ/xmar.png'>
<a class='nav_link78' href='v_obyavlenie.php?id=
{$myrow8['id']}'>{$myrow8['title']}</a>
</td>
</tr>
<tr> <td><table> <tr> <td class='trw'>
<a href='v_obyavlenie.php?id=
{$myrow8['id']}'> <img class='mini2a' align='left' src='{$myrow8['fupload']}' alt='{$myrow8['title']}'></a>
</td>
<td class='k'>
<div class='m_text'>
{$myrow8['text']}</div>
<div class='post_adds'><strong>Город:</strong>
{$myrow8['city']}  
<img src='img/includ/konvert.png'>
<strong>Email:</strong> <a href='mailto:
{$myrow8['mail']}'>Отправить письмо</a> 
<img src='img/includ/tel.png'>
<strong>Тел:</strong>
{$myrow8['tel']}</div> </td> </tr> </table></td></tr><tr>
<td class='niz'> <div class='post_view'>
<img class='gal' src='img/includ/gal.png'>
Дата розмещения:
{$myrow8['dater']}
<img src='img/includ/lupa.png'>
Просмотров:
{$myrow8['view']}  | 
Добавил: <span class='polz'>
{$myrow8['author']}</span> </div></td> </tr>
</table><br>"





?>



</td>
</tr>
</table>
<br>
<?php

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}




?>
</td>
</tr>
</table><br>

<?php
include("blocks/reklama.php"); ?> </td>
</tr>
</table></td>
</tr>
<?php
include("blocks/footer.php"); ?>
</table>
</body>
</html>


Спустя 1 час, 22 секунды (7.07.2010 - 21:26) Guest написал(а):
со скобками разобрался, вот только пишет:
Неверный формат запроса! Проверьте URL!

Спустя 21 минута, 30 секунд (7.07.2010 - 21:48) Slays написал(а):
тебе же сказали убрать preg_match

Спустя 10 часов, 32 минуты, 39 секунд (8.07.2010 - 08:20) Lenarfate написал(а):
мужики, это жесть!)

Спустя 1 час, 37 минут, 52 секунды (8.07.2010 - 09:58) Guest написал(а):
ну по коду вы можете что нить сказать, хорош или плох?

Спустя 5 минут, 20 секунд (8.07.2010 - 10:04) DedMorozzz написал(а):
Хм...Попов и хороший код? Что ты этим хочешь сказать? smile.gif
Иль это аля "тонкий" троллинг? )

Спустя 5 минут, 22 секунды (8.07.2010 - 10:09) Basili4 написал(а):
Цитата (Guest @ 8.07.2010 - 10:58)
ну по коду вы можете что нить сказать, хорош или плох?

ты после Попова переделал только цикл а там еще много чего править. Тут даже дело не в тебе. тебе лучше всего не исправлять код после попова а заново написать у него что не строчка так ГК.

Спустя 16 минут, 15 секунд (8.07.2010 - 10:25) Guest написал(а):
я напишу, мне бы все ошибки старого кода, или образец нового, например с выше представленного мною кода.

Спустя 17 минут, 27 секунд (8.07.2010 - 10:43) amazing написал(а):
Вменяемые имена переменным и запросам думаю не помешали бы...
А то result00 и т.д...

Спустя 9 минут, 29 секунд (8.07.2010 - 10:52) Guest написал(а):
а какая разница?

Спустя 4 минуты, 7 секунд (8.07.2010 - 10:56) amazing написал(а):
кхм... легче читать и понимать код...

Спустя 4 минуты, 20 секунд (8.07.2010 - 11:01) DedMorozzz написал(а):
Да никакой. Но если все бы так делали, то твой мобильный телефон был бы модели 12F00ck-62. И жил бы ты по адресу 0001#ch(1200FF)Z81, в квартире 0001#ch(1200FF)Z81-1500FFFF. А так всё ништяк. Везде имена должы соотецтвовать контенту и должны быть "говорящими"

Спустя 2 минуты, 12 секунд (8.07.2010 - 11:03) Basili4 написал(а):
Guest
http://irbis-team.com/15/5
Почитай там пример гостевой книги я думаю очень близко по теме

Спустя 2 дня, 39 минут, 40 секунд (10.07.2010 - 11:42) Odessyt написал(а):
У меня на сайте стоит постраничная навигация (тоже из курса Попова) и всё работало без проблем, но я столкнулся с непонятным мне багом: если страниц больше одной и в переменную $region попадает одно слово целиком - то всё ОК, если же переменная состоит из двух слов с пробелом между ними - то выводится только первое слово, а вся ссылка после него обрезается
Пример: $region Pattaya - http://www.dta.odessa.ua/hotel.php?region=Pattaya&page=2 (Всё правильно)
$region Куала Lumpur - должно выводиться так: http://www.dta.odessa.ua/hotel.php?region=Kuala Lumpur&page=2 , а выводится только http://www.dta.odessa.ua/hotel.php?region=Kuala
Я никак не могу понять, что именно обрезает ссылку на пробеле. Если в этом кто-то разобрался - откликнитесь, плиз!!! - очень нужна помощь

<?
$result77 = mysql_query("SELECT str FROM options", $db);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM hotel WHERE region = '$region' ");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения

$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query ("SELECT * FROM hotel WHERE region ='$region' ORDER BY name LIMIT $start, $num",$db);
$myrow = mysql_fetch_array ($result);
do {
$result15 = mysql_query ("SELECT COUNT(*) FROM comments WHERE post ='$myrow[id]'",$db);
$r2 = mysql_fetch_array ($result15);
$r = $myrow["rating"]/$myrow["q_vote"];
$r = intval($r);
printf(
"<table></table>");
}
while ($myrow = mysql_fetch_array ($result));

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=hotel.php?region='.$region.'&page=1>Первая</a> | <a href=hotel.php?region='.$region.'&page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 1) .'>Следующая</a> | <a href=hotel.php?region='.$region.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class='country_name_ht'>";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>

Спустя 12 минут, 58 секунд (10.07.2010 - 11:55) Ice написал(а):
в ссылке не может содержаться пробел
Упд.: зашел на Ваш сайт - слово Travel пишется через а, если имеется ввиду путешествие.
Упд.: ссылка http://www.dta.odessa.ua/hotel.php?region=...a+lumpur&page=2 отрабатывает нормально

Спустя 39 минут, 19 секунд (10.07.2010 - 12:35) twin написал(а):
Блин. Попов даже стырить по человечески не смог...

Выкинь это дерьмо немедленно. Править - себе дороже.

Спустя 1 час, 39 минут, 25 секунд (10.07.2010 - 14:14) Basili4 написал(а):
Цитата (twin @ 10.07.2010 - 13:35)
Выкинь это дерьмо немедленн

Ни когда не слышал чтоб twin так выражался наверно точно дерьмо laugh.gif

Спустя 6 минут, 50 секунд (10.07.2010 - 14:21) Basili4 написал(а):
мне вот эти кусочки кода доставляют

if($page + 5 <= $total) $page5right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>


а еслиб ему нужно было 100 сылок на страницы выводить он би 100 раз эти строки копировал blink.gif Помоему попов не долечившийся Кутузов или Наполеон но точно из больницы с мягкими стенами. А код пишет через призму своего мироощущения.

Спустя 42 минуты, 56 секунд (10.07.2010 - 15:04) inpost написал(а):
Это не его код, он сам говорил, что откуда-то взял постраничную навигацию +)

Спустя 7 минут, 3 секунды (10.07.2010 - 15:11) Odessyt написал(а):
Цитата (Ice @ 10.07.2010 - 08:55)
в ссылке не может содержаться пробел
Упд.: зашел на Ваш сайт - слово Travel пишется через а, если имеется ввиду путешествие.
Упд.: ссылка http://www.dta.odessa.ua/hotel.php?region=...a+lumpur&page=2 отрабатывает нормально

Спасибо за ответ. (1) Стыдно за такую дурацкую опечатку - исправлю.
(2) Если ссылки не могут содержать пробел, то почему нормально работают такие:
http://www.dta.odessa.ua/hotel.php?region=Kuala Lumpur
Может пробел в ссылке всё же возможен? Дело в том, что такие названия часто используются в поиске (Названия Стран, отелей, экскурсий и т.д.) как же быть?

Спустя 5 минут, 57 секунд (10.07.2010 - 15:17) Basili4 написал(а):
заменить пробел на %20

Спустя 5 минут, 18 секунд (10.07.2010 - 15:22) twin написал(а):
urlencode()

Спустя 1 час, 19 минут, 49 секунд (10.07.2010 - 16:42) Odessyt написал(а):
Цитата (Basili4 @ 10.07.2010 - 12:17)
заменить пробел на %20

Если в базе меняю Kuala Lumpur на Kuala%20Lumpur, то при запросе так и выводится: Kuala%20Lumpur
Пример: http://www.dta.odessa.ua/hotel_of_region.p...ountry=Malaysia

Спустя 2 минуты, 5 секунд (10.07.2010 - 16:44) Odessyt написал(а):
Цитата (twin @ 10.07.2010 - 12:22)
urlencode()

С этим я ещё не сталкивался и что с ним делать?

Спустя 1 час, 36 минут, 59 секунд (10.07.2010 - 18:21) twin написал(а):
Ну для начала прочитать про неё в мануале. Или хотябы тут. Очень недурственный перевод.

Спустя 37 минут, 36 секунд (10.07.2010 - 18:59) qpayct написал(а):
всётаки главное для Попова(я так думаю) - не уметь кодить, а уметь продавать. сразу невольно вспомнился Бил Гейтс......
Попову респект!

Спустя 23 минуты, 55 секунд (10.07.2010 - 19:23) Odessyt написал(а):
Цитата (twin @ 10.07.2010 - 15:21)
Ну для начала прочитать про неё в мануале. Или хотябы тут. Очень недурственный перевод.

Спасибо Большое!!! Ваш совет явился решением. Я в PHP пока новичок и это мой первый сайт - не судите строго. Ещё раз всем большое спасибо за помощь и участие!!!

Спустя 3 часа, 58 минут, 46 секунд (10.07.2010 - 23:21) twin написал(а):
Цитата
Ваш совет явился решением.

Жалко, что только этот совет...

Спустя 13 часов, 43 минуты (11.07.2010 - 13:04) Odessyt написал(а):
Цитата (twin @ 10.07.2010 - 20:21)
Цитата
Ваш совет явился решением.

Жалко, что только этот совет...

Почему жалко? И что Вы имеете в виду "только этот совет" ?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.