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 :: Версия для печати :: Fatal error: Using $this when not in object context in
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Fatal error: Using $this when not in object context in

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

1. mgn_nikey - 16 Октября, 2012 - 16:30:09 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function get2str ($key='', $val='') { // функция перевода переменных $_GET в строку, с учетом поправки
  2.         $set = $this->get2set($key, $val);
  3.         if ( count($set)>0 ) {
  4.                 foreach ($set as $k=>$v) $set[$k] = $k."=".urlencode($v);
  5.                 return "?".implode("&",$set);
  6.         }
  7. }


Помогите пожалуйста, ругается на ошибку Fatal error: Using $this when not in object context in...
2. Alho - 16 Октября, 2012 - 16:33:41 - перейти к сообщению
Вы прочитали ошибку? Вы точно объявляете метод get2str внутри класса?
3. mgn_nikey - 16 Октября, 2012 - 16:39:43 - перейти к сообщению
весь код
PHP:
скопировать код в буфер обмена
  1. <?
  2. function get2set ($key='', $val='') { // функция перевода переменных $_GET в массив, с учетом поправки
  3.         $set = array();
  4.         $set = $_GET;
  5.         if ( !empty($key) && is_array($set) ) {
  6.                 if ( is_array($key) ) {
  7.                         if ( count($key)>0 ) {
  8.                                 foreach ( $key as $k=>$v ) if ( empty($v) ) unset($set[$k]); else $set[$k] = $v;
  9.                         }
  10.                 } else {
  11.                         if ( empty($val) ) unset($set[$key]); else $set[$key] = $val;
  12.                 }
  13.         }
  14.         return $set;
  15. }
  16.  
  17. function get2str ($key='', $val='') { // функция перевода переменных $_GET в строку, с учетом поправки
  18.         $set = $this->get2set($key, $val);
  19.         if ( count($set)>0 ) {
  20.                 foreach ($set as $k=>$v) $set[$k] = $k."=".urlencode($v);
  21.                 return "?".implode("&",$set);
  22.         }
  23. }
  24.  
  25. function pages ($total, $p, $pp=10) { // функция вывода страниц
  26.   $pages = array ();
  27.   $tpages = ceil ($total/$pp); // колличество страниц
  28.   $bpage = $p - 10; if ($bpage<1) $bpage = 1;
  29.   $epage = $p + 10; if ($epage>$tpages) $epage = $tpages;
  30.  
  31.   if ( $p>1 ) $pages[] = '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", 1) . '">в начало</a>';
  32.   for ( $i=$bpage; $i<=$epage; $i++ ) $pages[] = ( $i==$p ) ? '<b>'.$i.'</b>' : '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", $i) . '">'.$i.'</a>';
  33.   if ( $p<$tpages ) $pages[] = '<a href="' . $_SERVER['PHP_SELF'] . get2str("p", $tpages) . '">в конец</a>';
  34.  
  35.   if ( count($pages)>0 ) echo '<p>'.implode (' | ',$pages).'</p>';
  36. }
  37.  
  38. $p = (int) $_GET['p']; if ($p<1) $p=1; // текущая страница
  39. $pp = 10; // колличество результатов на одной странице
  40. $start = ($p-1)*$pp; // начальная позиция выборки строк результата запроса
  41.  
  42. /* подключение к БД */
  43. include_once ('confrate.php');
  44. @mysql_connect("localhost", $user, $pass); // подключения к MySQL
  45. @mysql_select_db($user); // выбор названия БД
  46.  
  47. $sql = "SELECT COUNT(*) FROM usercomics WHERE valid=1";
  48. $r = mysql_query($sql);
  49. $total = mysql_result($r,0,0); // общее колличество результатов без разбиения на строки
  50.  
  51. $sql = "SELECT * FROM usercomics WHERE valid=1 LIMIT ".$start.", ".$pp;
  52. $r = mysql_query($sql);
  53. while ( $ar=mysql_fetch_array($r) ) {
  54. echo "asd";
  55.         /* здесь идет вывод данных в нужном вам формате */
  56. }
  57.  
  58. pages($total, $p, $pp); // вывод страниц
  59. ?>
4. DeepVarvar - 16 Октября, 2012 - 16:41:14 - перейти к сообщению
Alho пишет:
Вы точно объявляете метод get2str внутри класса?
5. mgn_nikey - 16 Октября, 2012 - 16:47:45 - перейти к сообщению
Наверное нет, пойду учить пхп дальше

 

Powered by ExBB FM 1.0 RC1