Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Постраничная навигация
Форумы портала PHP.SU » » Вопросы новичков » Постраничная навигация

Страниц (1): [1]
 

1. nordghost - 05 Ноября, 2012 - 15:01:46 - перейти к сообщению
Перерыв кучу сайтов с примерами навигаци(постраничной) непонял смысл ниодного из них("можно начать поливать меня калом"). Но всё же решил написать свой скрипт, написал и удачно всё работает, осталось только 3 вопроса.
1) Я очень быдлокодер?
2) Как сократить данный код?
3) Как обезопасить?

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include ("../../configuration/db.php");
  4.         $min1=$_GET['min'];
  5.         $pages=2;
  6.         if($_GET['min']){
  7.                 $from_base=mysql_query("SELECT * FROM posts LIMIT {$min1},{$pages}");
  8.                         while($qwe_res=mysql_fetch_assoc($from_base)){
  9.                                 echo $qwe_res['title']."<br />";
  10.                         }
  11.         }else{
  12.                 $from_base=mysql_query("SELECT * FROM posts LIMIT 0,2");
  13.                         while($qwe_res=mysql_fetch_assoc($from_base)){
  14.                                 echo $qwe_res['title']."<br />";
  15.        
  16.                         }
  17.                 }
  18.         $post_count=2;
  19.                 $query=mysql_query("SELECT * FROM posts");
  20.                 $result=mysql_num_rows($query);
  21.                         $result=round($result/=$post_count);
  22.                 $min=0;
  23.                 for($i=1; $i<=$result;$i++){
  24.                         echo "<a href='news.php?min={$min}'>{$i}</a><br />";
  25.                                 $min+=$post_count;
  26.                 }
  27.        
  28.  
  29. ?>
  30.  
  31.  
  32.  
  33.  
2. EuGen - 05 Ноября, 2012 - 15:15:12 - перейти к сообщению
С безопасностью стандартно - подстановка пользовательских данных в запрос без проверки дает возможность выполнения произвольного запроса. В Вашем случае, если передать запрос, например, так:
script.php?min=0,1;truncate posts; select * from posts limit 1&max=1
- результат будет плачевным.
Насчет остальных вопросов и "сокращения" - посмотрите другие реализации, уверен, найдете много интересного.
3. nordghost - 05 Ноября, 2012 - 15:17:51 - перейти к сообщению
Весьма благодарен!

 

Powered by ExBB FM 1.0 RC1