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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Постраничная навигация

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как сократить и обезопасить
nordghost
Отправлено: 05 Ноября, 2012 - 15:01:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




Перерыв кучу сайтов с примерами навигаци(постраничной) непонял смысл ниодного из них("можно начать поливать меня калом"). Но всё же решил написать свой скрипт, написал и удачно всё работает, осталось только 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.  

(Отредактировано автором: 05 Ноября, 2012 - 15:12:28)



-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
EuGen Администратор
Отправлено: 05 Ноября, 2012 - 15:15:12
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




С безопасностью стандартно - подстановка пользовательских данных в запрос без проверки дает возможность выполнения произвольного запроса. В Вашем случае, если передать запрос, например, так:
script.php?min=0,1;truncate posts; select * from posts limit 1&max=1
- результат будет плачевным.
Насчет остальных вопросов и "сокращения" - посмотрите другие реализации, уверен, найдете много интересного.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
nordghost
Отправлено: 05 Ноября, 2012 - 15:17:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




Весьма благодарен!


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB