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]   

> Без описания
yakov
Отправлено: 27 Января, 2016 - 09:24:16
Post Id


Новичок


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


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




Доброе время суток!
Люди добрые помогите разобраться со скриптом. Точнее с ротатором ссылок.
Я как бы не совсем знаток PHP.
На данный момент ротатор показывает 5 ссылок при добавлении 6 ссылки последняя удаляется.
Вот хотел переделать так чтобы показывалась 1 ссылка в случайном порядке.
Но почему то не работает, хотя в денвере все работает. При добавлении ссылок в ротатор показываются все добавленные ссылки, а не одна в случайном порядке.
Вот сам код который отвечает за открытие и запись в файл:
PHP:
скопировать код в буфер обмена
  1. /** --------
  2.   Ротатор ссылок
  3.  
  4. <div id="blk">Загрузка...</div>
  5. <?endif?><script type="text/javascript">$('#blk').load('/php/ball/index.php?w=links&t=get');</script>
  6. <?if($USER_LOGGED_IN$)?><hr> [ <a href="javascript://" onclick="b_links()" title="Отправить баллы">Добавить ссылку</a> ]
  7. <script type="text/javascript" src="/php/ball/index.php?w=datamod&m=links"></script><?endif?>
  8. -------- **/
  9.  
  10. if(empty($work)) exit('err'); # Защита от прямого вызова
  11. if($_GET['t'] == 'get'){
  12.   $data = file_get_contents($modul.'data.dat');
  13.   if(empty($data)) $data = '<li><b>Тут может быть ваша ссылка...</b></li>';
  14.   exit($data);
  15. }
  16. if($uid == 0) exit($err.'<b>Войдите на сайт</b>');
  17. if(!shield($work)) exit($err.'<b>Не так часто!</b>'); # Защита от частых запросов
  18. $url = urldecode($_GET['url']);
  19. $txt = urldecode($_GET['txt']);
  20. $txt = trim(strip_tags($txt));
  21. if(!preg_match('@^(http://)@', $url)) exit($err.'<b>Неправильная ссылка</b>');
  22. if(strlen($txt) > $bll['maxlen']) exit($err.'<b>Макс. кол-во символов '.$bll['maxlen'].'</b>');
  23. $txt = htmlspecialchars($txt);
  24. if(empty($txt)) exit($err.'<b>Название пустое</b>');
  25. $bls = getBall($uid);
  26. if(empty($bls)) exit($err.'<b>Попробуйте позже</b>');
  27. $bl = get($uid) + $bls;
  28. if($bl < $bll['price']) exit($err.'<b>Недостаточно баллов</b>');
  29. $data = '<li><b><a href="'.$url.'" target="_blank">'.$txt.'</a></b></li>';
  30.  
  31. $s = file($modul.'data.dat');
  32. $s[0] = $data.PHP_EOL.$s[0];
  33. $e = sizeof($s);
  34. for($c = 0; $c != $e; $c++){
  35.   if($c >= $bll['max']-1) $s[$c] = '';
  36. }
  37. $d = fopen($modul.'data.dat', 'w');
  38. foreach($s as $s_) fwrite($d, $s_.'');
  39. fclose($d);
  40. record($uid, 0, $bll['price']);
  41. exit($ok.'<b>Готово</b>');
  42. ?>


Вот эту часть кода:
PHP:
скопировать код в буфер обмена
  1. $s = file($modul.'data.dat');
  2. $s[0] = $data.PHP_EOL.$s[0];
  3. $e = sizeof($s);
  4. for($c = 0; $c != $e; $c++){
  5.   if($c >= $bll['max']-1) $s[$c] = '';
  6. }
  7. $d = fopen($modul.'data.dat', 'w');
  8. foreach($s as $s_) fwrite($d, $s_.'');
  9. fclose($d);
  10. record($uid, 0, $bll['price']);
  11. exit($ok.'<b>Готово</b>');
  12. ?>


Менял на эту:
PHP:
скопировать код в буфер обмена
  1. $s = file($modul.'data.dat');
  2. $a = 2;
  3. $e = mt_rand(1, count($s) - $a);
  4. $sad=$e+$a;
  5. for($c = $e; $c < $sad; $c++){
  6.   $s[$c];
  7. }
  8. $d = fopen($modul.'data.dat', 'a+');
  9. $info = $data;
  10. fwrite($d, $info. "\r\n");
  11. fclose($d);
  12. record($uid, 0, $bll['price']);
  13. exit($ok.'<b>Готово</b>');


И ни как не хочет работать.
В этом скрипте есть еще файл с вязаный с тим:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $___notjson = 1;
  3. $var = array(array(),array());
  4. global $var;
  5. $uid = ucoz_getinfo('SITEUSERID');
  6. header('Content-Type: text/html; charset=utf-8');
  7.  
  8. $work = trim($_GET['w']); # Какую операцию провести
  9. if(empty($work)) exit('err');
  10.  
  11. #### Конфиг
  12. include 'config.php';
  13.  
  14. #### Подключаем стандартные функции
  15. require('function.php');
  16.  
  17.  
  18. /* ------ Спец. work */
  19. # Получение изменений быллов
  20. if($work == 'get') exit(get($_GET['i']));
  21.  
  22. # Возможность изменять баллы админу
  23. if($work == 'change'){
  24.   if($uid != 1) exit('Нет прав доступа!');
  25.   $r = record($_GET['i'], $_GET['p'], $_GET['m']);
  26.   if($r !== true) exit($err.'<b>'.$r.'</b>');
  27.   exit($ok.'<b>Готово</b>');
  28. }
  29.  
  30. # Получение списка модулей
  31. # $USER_ID$, $MODUL$, $LOAD$, $ERR$, $OK$ - Доступные коды
  32. if($work == 'listmod'){
  33.   $scan = scandir('moduls');
  34.   foreach($scan as $dir){
  35.     $config = 'moduls/'.$dir.'/config.bll';
  36.     if(!is_file($config) || $dir == '.'|| $dir == '..') continue;
  37.         $data = bll(file_get_contents($config));
  38.     if(!$data['switch'] || !$data['display']) continue;
  39.         nawvar('USER_ID', $uid, 'LOAD', $load, 'OK', $ok, 'ERR', $err, 'MODUL', $dir);
  40.         $decl = decl($data['price'], array('балл','балла','баллов'));
  41.     echo nawvar('<div class="hbl"><div class="ibl"><img src="'.$data['img'].'" width="32" height="32" alt="" border="0"></div><div class="cbl"><a href="javascript://" onclick="b_'.$dir.'()"><b>'.$data['name'].'</b></a><span class="b0"> - '.$decl.'</span><br>'.$data['message'].'</div></div>');
  42.   }
  43.   exit;
  44. }
  45.  
  46.  
  47.  
  48. # Вызов молуля из списка
  49. # $USER_ID$, $MODUL$, $LOAD$, $ERR$, $OK$ - Доступные коды
  50. if($work == 'datamod' && $_GET['m']){
  51.   header('Content-Type: text/javascript; charset=utf-8');
  52.   nawvar('USER_ID', $uid, 'LOAD', $load, 'OK', $ok, 'ERR', $err);
  53.   if($_GET['m'] == 'allmod'){
  54.     $scan = scandir('moduls');
  55.     foreach($scan as $dir){
  56.       $config = 'moduls/'.$dir.'/config.bll';
  57.       if(!is_file($config) || $dir == '.'|| $dir == '..') continue;
  58.           $data = bll(file_get_contents($config));
  59.       if(!$data['switch'] || !$data['display']) continue;
  60.       nawvar('MODUL', $dir);
  61.           if(!$data['ajax']) $data['ajax'] = "align:'left',autosize:1";
  62.       echo nawvar("function b_".$dir."(){ new _uWnd('b_".$_GET['m']."','".$data['name']."',".$data['w_h'].",{".$data['ajax'].",oncontent:function(){".$data['js']."}},'".$data['html']."');}".PHP_EOL);
  63.     }
  64.     exit;
  65.   }
  66.   $config = 'moduls/'.$_GET['m'].'/config.bll';
  67.   if(!is_file($config)) exit('"config.bll" не обнаружен');
  68.   $data = bll(file_get_contents($config));
  69.   if(!$data['switch']) exit('Модуль не активен');
  70.   if(!$data['ajax']) $data['ajax'] = "align:'left',autosize:1";
  71.   nawvar('MODUL', $_GET['m']);
  72.   echo nawvar("function b_".$_GET['m']."(){ new _uWnd('b_".$_GET['m']."','".$data['name']."',".$data['w_h'].",{".$data['ajax'].",oncontent:function(){".$data['js']."}},'".$data['html']."');}");
  73.   exit;
  74. }
  75. /* ------ */
  76.  
  77.  
  78. # Подключаем модуль
  79. $modul = 'moduls/'.$work.'/';
  80. if(!is_file($modul.'index.php')) exit('Такого мудуля не существует');
  81. if(!is_file($modul.'config.bll')) exit('"config.bll" не обнаружен');
  82. $config = file_get_contents($modul.'config.bll');
  83. $bll = bll($config);
  84. if(!$bll['switch']) exit('Модуль не активен');
  85. require($modul.'index.php');
  86.  
  87. ?>

Может кто сможет подсказать что и как сделать, а то уже всю голову сломал.
 
 Top
yakov
Отправлено: 28 Января, 2016 - 10:16:19
Post Id


Новичок


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


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




Видимо и тут ни кто не знает php
 
 Top
lastdays
Отправлено: 28 Января, 2016 - 11:06:20
Post Id



Частый гость


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


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




Ну, во-первых никто не обязан вам помогать, а говорить что люди не знают язык программирования из-за этого глупо.
Во-вторых, такую простыню лично мне лень читать и писать вам готовый код бесплатно.

Ждите)
 
 Top
yakov
Отправлено: 28 Января, 2016 - 12:04:45
Post Id


Новичок


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


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




А вот как умничать ума много не надо
 
 Top
difight
Отправлено: 29 Января, 2016 - 13:36:09
Post Id



Посетитель


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


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




yakov пишет:
А вот как умничать ума много не надо

Заплатите за работу никто умничать не будет. А то просите бесплатной помощи еще и недовольны... обнаглел народ в конец.
 
My status
 Top
yakov
Отправлено: 29 Января, 2016 - 14:49:07
Post Id


Новичок


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


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




Я попросил помощи разобраться со скриптом, а не писать сам скрипт.
Хотя сам разобрался. Язычок
 
 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