За последние 24 часа нас посетили 18493 программиста и 1613 роботов. Сейчас ищут 2039 программистов ...

Помогите разобраться с выводом случайной ссылки

Тема в разделе "Сделайте за меня", создана пользователем yakov, 16 янв 2016.

  1. yakov

    yakov Новичок

    С нами с:
    15 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Помогите, что еще нужно прописать в коде чтобы отправлялась форма.
    А то дописал две строчки в форме, а данные из этих строчек не сохраняются.
    Код (PHP):
    1. [add:(
    2.   {name:price:value<:[30]:>}{txt<:[Сколько баллов нужно]:>}
    3.   {name:max:value<:[5]:>}{txt<:[Максимальное кол-во ссылок которые выводятся]:>}
    4.   {name:maxlen:value<:[60]:>}{txt<:[Максимальное кол-во символов в тексте ссылки]:>}
    5. )]
    6. {name:switch:value<:[1]:>}
    7. {name:display:value<:[0]:>}
    8.  {name:maxlen:value<:[60]:>}{txt<:[Максимальное кол-во символов в объявлении]:>}
    9. )]
    10. {name:switch:value<:[1]:>}
    11. {name:display:value<:[0]:>}
    12. {name:name:value<:[Покупка ссылки]:>}
    13. {name:message:value<:[Это ротатор ссылок, вы покупаете ссылку и она появляется в самом верху]:>}
    14. {name:img:value<:[]:>}
    15. {name:w_h:value<:[400,100]:>}
    16. {name:ajax:value<:[]:>}
    17. {name:html:value<:[<fieldset><legend><b>Что это?</b></legend>Это ротатор ссылок, вы покупаете ссылку за 30 баллов и она появляется в самом верху, при этом самая нижняя исчезает если ссылок больше 5. Баллы можно посмотреть в своем профиле</fieldset><fieldset><legend><b>Ссылка на сайт</b></legend><input style="width:100%" value="" id="blk" type="text"></fieldset><fieldset><legend><b>Название сайта</b></legend><input style="width:100%" value="" id="bnz" type="text"></fieldset>[b]<fieldset><legend><b>Адрес картинки</b></legend><input style="width:100%"  value="" id="urlImage" type="text"></fieldset><fieldset><legend><b>Текст объявления</b></legend><input style="width:100%" value="" id="etext" type="text"></fieldset>[/b]<div id="send_$MODUL$" style="float:left"></div><input type="button" id="fn_$MODUL$" style="float:right" value="Готово"></fieldset>]:>}
    18. {name:js:value<:[$('#fn_$MODUL$').click(function(){
    19.      $(this).attr('disabled',true);
    20.      $('#send_$MODUL$').html('$LOAD$');
    21.      $.get('/php/ball/index.php?w=$MODUL$&url='+encodeURIComponent($('#blk').val())+'&txt='+encodeURIComponent($('#bnz').val()), function(data){
    22.        $('#send_$MODUL$').html(data);
    23.        $('#fn_$MODUL$').attr('disabled',false);
    24.       }); });]:>}
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Re: Помогите, что еще нужно прописать в коде

    O_O
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Re: Помогите, что еще нужно прописать в коде

    yakov слижком мало данных
     
  4. yakov

    yakov Новичок

    С нами с:
    15 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Короче суть такая это ротатор ссылок.
    Мне нужно добавить два поля:
    В форме их прописал (первый пост это код формы)
    Код (PHP):
    1. <legend><b>Адрес картинки</b></legend><input style="width:100%"  value="" id="urlImage" type="text"></fieldset><fieldset><legend><b>Текст объявления</b></legend><input style="width:100%" value="" id="etext" type="text"></fieldset> 
    .
    Но после заполнения формы данные не сохраняются в файле "data. dat"
    А также добавил id полей в файл "index.php"
    Код (PHP):
    1. <?php
    2.  
    3. /** -------- 
    4.   Ротатор ссылок
    5.   
    6. <div id="blk">Загрузка...</div>
    7. <?endif?><script type="text/javascript">$('#blk').load('/php/ball/index.php?w=links&t=get');</script>
    8. <?if($USER_LOGGED_IN$)?><hr> [ [url="javascript://"]Добавить ссылку[/url] ]
    9. <script type="text/javascript" src="/php/ball/index.php?w=datamod&m=links"></script><?endif?>
    10. -------- **/
    11.  
    12. if(empty($work)) exit('err'); # Защита от прямого вызова
    13. if($_GET['t'] == 'get'){
    14.   $data = file_get_contents($modul.'data.dat');
    15.   if(empty($data)) $data = '<li><b>Тут может быть ваша ссылка...</b></li>';
    16.   exit($data);
    17. }
    18. if($uid == 0) exit($err.'<b>Войдите на сайт</b>');
    19. if(!shield($work)) exit($err.'<b>Не так часто!</b>'); # Защита от частых запросов
    20. $url = urldecode($_GET['url']);
    21. $txt = urldecode($_GET['txt']);
    22. $txt = trim(strip_tags($txt));
    23. $img = urldecode($_GET['urlImage']);
    24. $etxt = urldecode($_GET['$etxt']);
    25. if(!preg_match('@^(http://)@', $url)) exit($err.'<b>Неправильная ссылка</b>');
    26. if(strlen($txt) > $bll['maxlen']) exit($err.'<b>Макс. кол-во символов '.$bll['maxlen'].'</b>');
    27. $txt = htmlspecialchars($txt);
    28. if(empty($txt)) exit($err.'<b>Название пустое</b>');
    29. $bls = getBall($uid);
    30. if(empty($bls)) exit($err.'<b>Попробуйте позже</b>');
    31. $bl = get($uid) + $bls;
    32. if($bl < $bll['price']) exit($err.'<b>Недостаточно баллов</b>');
    33. $data = '<table align="center" border="1" cellpadding="0" cellspacing="0" style="width: 100%;"><tbody><tr><td style="text-align: center; vertical-align: middle;"><img src="'.$iurlImage.'"></td><td style="vertical-align: middle;"><li><b>[url="'.$url.'"]'.$txt.'[/url]</b></li></td></tr><tr><td colspan="2">'.$etxt.'</td></tr></tbody></table>';
    34.  
    35.  
    36.  
    37. $s = file($modul.'data.dat');
    38. $s[0] = $data.PHP_EOL.$s[0];
    39. $e = sizeof($s);
    40. for($c = 0; $c != $e; $c++){
    41.   if($c >= $bll['max']-1) $s[$c] = '';
    42. }
    43. $d = fopen($modul.'data.dat', 'w');
    44. foreach($s as $s_) fwrite($d, $s_.'');
    45. fclose($d);
    46. record($uid, 0, $bll['price']);
    47. exit($ok.'<b>Готово</b>');
    48. ?>
    .
    А также есть еще и общий файл для всех модулей скрипта "index.php"
    Код (PHP):
    1. <?php 
    2.  
    3. $___notjson = 1;
    4. $var = array(array(),array());
    5. global $var;
    6. $uid = ucoz_getinfo('SITEUSERID');
    7. header('Content-Type: text/html; charset=utf-8');
    8.  
    9. $work = trim($_GET['w']); # Какую операцию провести
    10. if(empty($work)) exit('err');
    11.  
    12. #### Конфиг
    13. include 'config.php';
    14.  
    15. #### Подключаем стандартные функции
    16. require('function.php');
    17.  
    18.  
    19. /* ------ Спец. work */
    20. # Получение изменений быллов
    21. if($work == 'get') exit(get($_GET['i']));
    22.  
    23. # Возможность изменять баллы админу
    24. if($work == 'change'){
    25.   if($uid != 1) exit('Нет прав доступа!');
    26.   $r = record($_GET['i'], $_GET['p'], $_GET['m']);
    27.   if($r !== true) exit($err.'<b>'.$r.'</b>');
    28.   exit($ok.'<b>Готово</b>');
    29. }
    30.  
    31. # Получение списка модулей
    32. # $USER_ID$, $MODUL$, $LOAD$, $ERR$, $OK$ - Доступные коды
    33. if($work == 'listmod'){
    34.   $scan = scandir('moduls');
    35.   foreach($scan as $dir){
    36.     $config = 'moduls/'.$dir.'/config.bll';
    37.     if(!is_file($config) || $dir == '.'|| $dir == '..') continue;
    38.     $data = bll(file_get_contents($config));
    39.     if(!$data['switch'] || !$data['display']) continue;
    40.     nawvar('USER_ID', $uid, 'LOAD', $load, 'OK', $ok, 'ERR', $err, 'MODUL', $dir);
    41.     $decl = decl($data['price'], array('балл','балла','баллов'));
    42.     echo nawvar('<div class="hbl"><div class="ibl"><img src="'.$data['img'].'" width="32" height="32" alt="" border="0"></div><div class="cbl">[url="javascript://"]'.$data['name'].'</b>[/url]<span class="b0"> - '.$decl.'</span><br>'.$data['message'].'</div></div>');
    43.   }
    44.   exit;
    45. }
    46.  
    47.  
    48.  
    49. # Вызов молуля из списка
    50. # $USER_ID$, $MODUL$, $LOAD$, $ERR$, $OK$ - Доступные коды
    51. if($work == 'datamod' && $_GET['m']){
    52.   header('Content-Type: text/javascript; charset=utf-8');
    53.   nawvar('USER_ID', $uid, 'LOAD', $load, 'OK', $ok, 'ERR', $err);
    54.   if($_GET['m'] == 'allmod'){
    55.     $scan = scandir('moduls');
    56.     foreach($scan as $dir){
    57.       $config = 'moduls/'.$dir.'/config.bll';
    58.       if(!is_file($config) || $dir == '.'|| $dir == '..') continue;
    59.       $data = bll(file_get_contents($config));
    60.       if(!$data['switch'] || !$data['display']) continue;
    61.       nawvar('MODUL', $dir);
    62.       if(!$data['ajax']) $data['ajax'] = "align:'left',autosize:1";
    63.       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);
    64.     }
    65.     exit;
    66.   }
    67.   $config = 'moduls/'.$_GET['m'].'/config.bll';
    68.   if(!is_file($config)) exit('"config.bll" не обнаружен');
    69.   $data = bll(file_get_contents($config));
    70.   if(!$data['switch']) exit('Модуль не активен');
    71.   if(!$data['ajax']) $data['ajax'] = "align:'left',autosize:1";
    72.   nawvar('MODUL', $_GET['m']);
    73.   echo nawvar("function b_".$_GET['m']."(){ new _uWnd('b_".$_GET['m']."','".$data['name']."',".$data['w_h'].",{".$data['ajax'].",oncontent:function(){".$data['js']."}},'".$data['html']."');}");
    74.   exit;
    75. }
    76. /* ------ */
    77.  
    78.  
    79. # Подключаем модуль
    80. $modul = 'moduls/'.$work.'/';
    81. if(!is_file($modul.'index.php')) exit('Такого мудуля не существует');
    82. if(!is_file($modul.'config.bll')) exit('"config.bll" не обнаружен');
    83. $config = file_get_contents($modul.'config.bll');
    84. $bll = bll($config);
    85. if(!$bll['switch']) exit('Модуль не активен');
    86. require($modul.'index.php');
    87.  
    88. ?>
    .
    Полный скрипт находится: ucozon . ru/dir/28-1-0-5372?lL73Sj (Извините не реклама)
    Если выкладывать полный скрипт то получится много кода.
    И всетаки может кто поможет разобраться
     
  5. yakov

    yakov Новичок

    С нами с:
    15 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    С полями разобрался.
    Вот только не получается сделать вывод одной случайной ссылки.
    На данный момент скрипт настроен на вывод 5 ссылок при добавлении 6 последняя удаляется.
    Пробовал много методов для вывода случайной ссылки не работает. При добавлении все ссылки открываются сразу
    Вот код из скрипта:
    Код (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.  
    .
    ['max'] - Это количество ссылок
    ['price'] - Это баллы
    Думаю что проблема в этом:
    Код (PHP):
    1. if($_GET['t'] == 'get'){
    2.   $data = file_get_contents($modul.'data.dat');
    3.   if(empty($data)) $data = '<li><b>Тут может быть ваша ссылка...</b></li>';
    4.   exit($data); 
    .
    Точнее из за file_get_contents. Просто открывается файл целиком.
    Люди добрые подскажите как исправить, а то уже всю голову сломал
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    если имеется массив ссылок, то array_rand
     
  7. yakov

    yakov Новичок

    С нами с:
    15 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Уже разобрался. Можно закрывать тему