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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Ошибка в скрипте
serj12331
Отправлено: 02 Января, 2013 - 20:43:55
Post Id


Новичок


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


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




Добрый вечер форумчане. Вобщем дело пойдёт о игровой панели. Раньше панель стояла на выделенном сервере, после переноса её на vps перестал работать Репозиторий (тоесть загружаю допустим плагин через панель, а клиент в панели управления просто нажимает кнопочку установить и он заливатся к нему в игровой сервер и прописывается название в фаил если требуется). Так вот я загружаю фаил он должен идти в папку addons, но это не происходит вот скрин http://rghost[dot]ru/42689135[dot]view

Вот код самого скрипта
CODE (htmlphp):
скопировать код в буфер обмена
  1.  <?php
  2. if(!defined('gamepl')) { die("Hacking attempt!"); }
  3. if(!defined('gamepladmin')) { die("Hacking attempt!"); }
  4. $act = clear($_GET['act']);
  5. if($act == "add"){
  6.         if($ajax_f != ""){
  7.                 $d1 = $_POST['data_1'];
  8.                 $d2 = $_POST['data_2'];
  9.                 $d3 = $_POST['data_3'];
  10.                 $d4 = $_POST['data_4'];
  11.                 $db->query( "INSERT INTO tabl12 set p1='".cod($_POST['name'])."',p2='".cod($_POST['info2'])."',p3='".cod($_POST['cat'])."',p4='".cod($_POST['dir'])."'");
  12.                 $id = mysql_insert_id();
  13.                 include(ROOT_DIR.'/engine/classes/pclzip.lib.php');
  14.                 $uploaddir = ROOT_DIR.'/addons/';
  15.                 copy($_FILES['uploadfile']['tmp_name'], $uploaddir.$id.".zip");
  16.                 $archive = new PclZip($uploaddir.$id.".zip");
  17.                 $list = $archive->extract(PCLZIP_OPT_PATH, $uploaddir.$id."/");
  18.                 $folder = $uploaddir.$id."/";
  19.                 ob_start();
  20.                 rdir($folder);
  21.                 RemoveDir($uploaddir.$id);
  22.                 $get = ob_get_contents();
  23.                 $get = str_replace($uploaddir.$id."/","rm ",$get);
  24.                 $file = fopen($uploaddir.$id.'.sh',"w");
  25.                 if ($file){
  26.                         fputs($file,$get);
  27.                 }
  28.                 fclose($file);
  29.                 ob_end_clean();
  30.                 unlink($uploadfile);
  31.                 foreach($d1 as $key=>$val){
  32.                         $db->query( "INSERT INTO tabl27 set p1='".$id."',p2='".$d1[$key]."',p3='".$d2[$key]."'");
  33.                 }
  34.                 foreach($d3 as $key=>$val){
  35.                         $db->query( "INSERT INTO tabl28 set p1='".$id."',p2='".$d3[$key]."',p3='".$d4[$key]."'");
  36.                 }
  37.                 ajax_r('296');
  38.         }
  39.         $title = "Загрузка | ";
  40.         $tpl->load_template ( 'admin/addons_add.tpl' );
  41.         $sql_result = $db->query('SELECT * FROM tabl11 order by id desc');
  42.         $addons_cat = "";
  43.         while ( $row = $db->get_row( $sql_result ) ) {
  44.                 $addons_cat .= '<option value="'.$row['id'].'">'.decod($row['p1']).' - '.decod($row['p2']).'</option>';
  45.         }
  46.         $tpl->set ( '{addons_cats}', $addons_cat );
  47.         $tpl->compile ( 'content' );
  48.         nav('/admin&go=addons','Дополнения');
  49.         nav('','Загрузка','1');
  50. }elseif($act == "del"){
  51.         $id = @$_POST['id'];
  52.         $db->query('SELECT * FROM tabl12 where id="'.$id.'"');
  53.         if($db->num_rows() != "1"){ajax_e('326');}
  54.         $db->query('delete from tabl12 where id="'.$id.'"');
  55.         $db->query('delete from tabl28 where p1="'.$id.'"');
  56.         $db->query('delete from tabl27 where p1="'.$id.'"');
  57.         $db->query('delete from tabl14 where p1="'.cod($id).'"');
  58.         $uploaddir = ROOT_DIR.'/addons/';
  59.         unlink($uploaddir.$id.".zip");
  60.         unlink($uploaddir.$id.".sh");
  61.         ajax_r('324');
  62. }else{
  63.         $sql_result = $db->query('SELECT * FROM tabl12 order by id desc');
  64.         $addons_cat = "";
  65.         while ( $row = $db->get_row( $sql_result ) ) {
  66.                 $tpl->load_template ( 'admin/addons_get.tpl' );
  67.                 $tpl->set ( '{id}', $row['id'] );
  68.                 $tpl->set ( '{name}', decod($row['p1']) );
  69.                 $db->query('SELECT * FROM tabl11 where id="'.decod($row['p3']).'"');
  70.                 $row2 = $db->get_row( );
  71.                 $tpl->set ( '{game}', $lang[decod($row2['p2'])] );
  72.                 $tpl->set ( '{cat}', decod($row2['p1']) );
  73.                 $tpl->compile ( 'data' );
  74.         };
  75.         $title = "Дополнения | ";
  76.         $tpl->load_template ( 'admin/addons.tpl' );
  77.         $tpl->set ( '{data}', $tpl->result['data'] );
  78.         $tpl->compile ( 'content' );
  79.         nav('','Дополнения','1');
  80. }
  81. ?>

(Отредактировано автором: 02 Января, 2013 - 20:47:35)

 
 Top
Ed
Отправлено: 02 Января, 2013 - 21:00:37
Post Id


Новичок


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


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

[+]


Какая у Вас ОС и CMS?
 
 Top
serj12331
Отправлено: 02 Января, 2013 - 21:07:11
Post Id


Новичок


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


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




ос Debian 6
(Добавление)
CMS это движок если не ошибаюсь, у меня не стоит он это самописанная панель
 
 Top
Ed
Отправлено: 02 Января, 2013 - 22:32:09
Post Id


Новичок


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


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

[+]


Параметры php.ini не менялись: стоит file_uploads on ?
Какое сообщение и номер об ошибке возвращается при upload?
Имеются ли права на запись в tmp, и в папку addons?

З.Ы. Среда виртуализации не Hyper-V случайно?
Народ вон идет на отчаянный шаг и запускает Linux в Vbox на сервере.
Цитата:
В Hyper-V крайне нестабильно работал Debian Squeeze (он же Debian 6)

Вот статью посмотрите Linux на сервер с Windows Server, или Vbox \ VmWare как сервис - http://habrahabr[dot]ru/post/160553/
 
 Top
serj12331
Отправлено: 02 Января, 2013 - 22:42:46
Post Id


Новичок


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


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




Виртулизация OpenVZ, ошибок ни каких не возникает стоит на месте просто как на скрине, права стандартные на папку addons стоят 755 а на tmp 1777
file_uploads = On стоит
 
 Top
serj12331
Отправлено: 03 Января, 2013 - 12:48:42
Post Id


Новичок


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


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




Может проблеиа в скрипте?
 
 Top
DeepVarvar Супермодератор
Отправлено: 03 Января, 2013 - 13:48:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




serj12331 пишет:
if($ajax_f != ""){
Прверка в шестой строке. А где вы объявляли эту переменную? Условие не сработает.
З.Ы.: В целом - код жидкий, не понятно как оно работало раньше.
 
 Top
Muxa
Отправлено: 03 Января, 2013 - 14:36:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


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




Цитата:
Условие не сработает.

почему не сработает? Еще как сработает, NULL != строке
(Добавление)
пропишите в начале кода строчки
PHP:
скопировать код в буфер обмена
  1. ini_set('display_errors', 'On');
  2. error_reporting ( E_ALL | E_STRICT );

и исправьте для начала эти ошибки
 
 Top
serj12331
Отправлено: 03 Января, 2013 - 19:52:54
Post Id


Новичок


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


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




Muxa пишет:
пропишите в начале кода строчки
PHP:
скопировать код в буфер обмена
ini_set('display_errors', 'On');error_reporting ( E_ALL | E_STRICT );
и исправьте для начала эти ошибки

Да вот сделал, выдало:

Notice: Undefined index: error in /var/www/serj12331/data/www/dome n.ru/engine/init.php on line 84 Notice: Undefined index: nChat in /var/www/serj12331/data/www/dome n.ru/engine/init.php on line 96 Notice: Undefined index: error in /var/www/serj12331/data/www/dome n.ru/engine/init.php on line 105
(Добавление)
Вот содержание файла /var/www/serj12331/data/www/dome n.ru/engine/init.php

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. if(!defined('gamepl')) {
  3.    die("Hacking attempt!");
  4. }
  5. include (ROOT_DIR.'/engine/data/conf.php');
  6. include (ROOT_DIR.'/engine/function.php');
  7. include (ROOT_DIR.'/engine/classes/mysql.class.php');
  8. include (ROOT_DIR.'/langs/'.$conf['lang'].'.php');
  9. $m = new Memcache;
  10. $m->connect($conf['m_ip'],$conf['m_port']);
  11. $conf['url'] = "http://".clear($_SERVER['HTTP_HOST'])."/";
  12. $ajax_f = clear(@$_POST['ajax_f']);
  13. $speedbar = "0";
  14. $in = (int)@$_GET['in'];
  15. if($in != "") {
  16.    if(preg_match("/[^0-9]/",$in)) {
  17.    } else {
  18.        $db->query('SELECT * FROM tabl1 where id="'.$in.'"');
  19.        if($db->num_rows() == "1") {
  20.            set_cookie("invite",$in,7);
  21.        }
  22.    }
  23.    header('location:'.$conf['url']);
  24. }
  25. $logingo = "0";
  26. $logininfo = array();
  27. $login = cod(clear(decod(@$_COOKIE['login'])));
  28. $pass = cod(clear(decod(@$_COOKIE['pass'])));
  29. if($login != "" and $pass != "") {
  30.    $db->query('SELECT * FROM tabl1 where p1="'.$login.'" and p2="'.$pass.'"');
  31.    if($db->num_rows() == "1") {
  32.        $logininfo = $db->get_row();
  33.        $logingo = "1";
  34.        $db->query('update tabl1 set p8="'.cod($_SERVER['REMOTE_ADDR']).'" where id="'.
  35.            $logininfo['id'].'"');
  36.    }
  37. }
  38. include (ROOT_DIR.'/engine/classes/tpl.class.php');
  39. $tpl->dir = ROOT_DIR.'/tpl/4/';
  40. define('TEMPLATE_DIR',$tpl->dir);
  41. $do = @$_GET['do'];
  42. if(preg_match ("/[^a-z,A-Z_]/", $do)){error($lang['2']);$do=false;}
  43. if($do) {
  44.    $module = @file(ROOT_DIR."/engine/modules/".$do.".php");
  45.    if(!$module) {
  46.        error($lang['2']);
  47.    } else {
  48.        include (ROOT_DIR."/engine/modules/".$do.".php");
  49.    }
  50. }
  51.  
  52. $tpl->load_template('header.tpl');
  53. if($logingo == "1") {
  54.    $tpl->set('{balance}',decod($logininfo['p7']).' руб.');
  55. } else {
  56. }
  57. $tpl->compile('header');
  58. $tpl->load_template('nav.tpl');
  59. $tpl->set('{data}',$tpl->result['nav_get']);
  60. $tpl->compile('nav');
  61. include (ROOT_DIR.'/engine/modules/speedbar.php');
  62. if(!$do) {
  63.         $tpl->result['news'] = @$m->get('index_news');
  64.         if(empty($tpl->result['news'])){
  65.                 $sql_result = $db->query('SELECT * FROM tabl10 order by id desc');
  66.                 while ( $row_news = $db->get_row( $sql_result ) ) {
  67.                         $tpl->load_template ( 'news.tpl' );
  68.                         if(decod($row_news['p4']) != ""){
  69.                                 $tpl->set ( '{text}', '<a href="'.decod($row_news['p4']).'">'.decod($row_news['p3']).'</a>' );
  70.                         }else{
  71.                                 $tpl->set ( '{text}', decod($row_news['p3']) );
  72.                         }
  73.                         $tpl->set ( '{time}', langdate( "j F Y - H:i", decod($row_news['p2'])) );
  74.                         $tpl->compile ( 'news' );
  75.                 }
  76.                 $m->set('index_news', $tpl->result['news'], false, 3600);
  77.         }
  78.    $tpl->load_template ( 'index.tpl' );
  79.    $tpl->compile ( 'content' );
  80.         $tpl->result['content'] = str_replace('{news}', $tpl->result['news'],$tpl->result['content']);
  81. }
  82. $tpl->load_template('main.tpl');
  83. $tpl->set('{title}',$title.$conf['title']);
  84. if($tpl->result['error'] != "") {
  85.    $tpl->set('{content}',$tpl->result['error'].$tpl->result['content']);
  86. } else {
  87.    $tpl->set('{content}',$tpl->result['content']);
  88. }
  89. $tpl->set('{header}',$tpl->result['header']);
  90. if($tpl->result['nav_get'] != "") {
  91.    $tpl->set('{sidebar}',$tpl->result['nav']);
  92. } else {
  93.    $tpl->set('{sidebar}','');
  94. }
  95. $tpl->set('{speedbar}',$tpl->result['speedbar']);
  96. $tpl->set('{nChat}',$tpl->result['nChat']);
  97. $tpl->compile('main');
  98. if($_POST['ajax'] != "1") {
  99.    echo $tpl->result['main'];
  100. } else {
  101.    $sb = '';
  102.    if($tpl->result['nav_get'] != "") {
  103.        $sb = $tpl->result['nav'];
  104.    }
  105.    if($tpl->result['error'] != "") {
  106.        echo $tpl->result['error'].$tpl->result['content'].
  107.            '<div style="display:none;"><div id="nurl_title">'.$title.$conf['title'].
  108.            '</div><div id="nurl_nav">'.$sb.'</div><div id="nurl_speedbar">'.$tpl->result['speedbar'].
  109.            '</div></div>';
  110.    } else {
  111.        echo $tpl->result['content'].'<div style="display:none;"><div id="nurl_title">'.
  112.            $title.$conf['title'].'</div><div id="nurl_nav">'.$sb.
  113.            '</div><div id="nurl_speedbar">'.$tpl->result['speedbar'].'</div></div>';
  114.    }
  115. }
  116. ;
  117. ?>
  118.  

(Отредактировано автором: 03 Января, 2013 - 19:54:18)

 
 Top
Muxa
Отправлено: 03 Января, 2013 - 20:10:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


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




Цитата:
Да вот сделал, выдало:

ну так и исправляйте Улыбка
Если с английским плохо - в переводчик..
PHP:
скопировать код в буфер обмена
  1. if($tpl->result['error'] != "") {

 
 Top
serj12331
Отправлено: 03 Января, 2013 - 20:11:46
Post Id


Новичок


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


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




Muxa пишет:


ну так и исправляйте
Если с английским плохо - в переводчик..
PHP:
скопировать код в буфер обмена
if($tpl->result['error'] != "") {
PHP:
скопировать код в буфер обмена
if(!empty($tpl->result['error'])) {

Да нет, скорее всего в php у меня плохо =)

(Отредактировано автором: 03 Января, 2013 - 20:12:38)

 
 Top
Muxa
Отправлено: 03 Января, 2013 - 20:15:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


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




Цитата:
Notice: Undefined index: error in /var/www/serj12331/data/www/dome n.ru/engine/init.php on line 84

Цитата:
Предупреждение: неизвестный индекс error в файле ....init.php на 84 строке

З.Ы. и зачем столько цитировать..? Растерялся
(Добавление)
смотрим на эту строчку, видим там код приведенный мною выше, заменяем на код, приведенный опять же выше. И так далее, только заменяем на нужное
 
 Top
serj12331
Отправлено: 03 Января, 2013 - 20:16:57
Post Id


Новичок


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


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




нечаянно захватил, что ошибка в 84 строке я это уже понял =)
 
 Top
Muxa
Отправлено: 03 Января, 2013 - 20:18:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


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




это только первая строка, посмотрите внимательнее и исправляйте все остальные..
 
 Top
serj12331
Отправлено: 03 Января, 2013 - 20:22:51
Post Id


Новичок


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


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




Стоило только сменить 84 строку на 1.if(!empty($tpl->result['error'])) { как сразу легло всё Недовольство, огорчение
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB