За последние 24 часа нас посетили 60244 программиста и 26280 роботов. Сейчас ищут 1878 программистов ...

Рандом ссылки

Тема в разделе "PHP для новичков", создана пользователем skropion, 21 май 2017.

  1. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    Привет форум , мне нужна ваша помощь как сделать так , что бы при нажатии на кнопку открывалась рандом ссылка из txt?
    Вот html кнопки
    [​IMG]

    вот код рандома
    PHP:
    1. <?
    2. $data = file("1.txt");
    3. $mx = 5; // сколько выводить
    4. $rand_links = array_rand($data, $mx);
    5. foreach ( $rand_links as $link )
    6. echo $data[$link];
    7. ?>
    как засунуть его в кнопку?Я рак в этом)
     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Screenshot_1.jpg
     
    mahmuzar и skropion нравится это.
  3. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.601
    Симпатии:
    423
    Адрес:
    РД, г. Махачкала.
    @skropion,что не понял? тебе готовое решение дали.
     
  5. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    это
    "Оформляй код, кнопка </> в редакторе, потом выпадающий список и выбирай тип кода: php, javascript, html и т. д."
    --- Добавлено ---
    Вставил код
    [​IMG]
    при нажатии кнопки пишет
    [​IMG]
     
  6. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
  7. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.601
    Симпатии:
    423
    Адрес:
    РД, г. Махачкала.
    Эта его подпись.
    --- Добавлено ---
    Это к ответу отношения не имеет.
     
  8. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    уже понял)
    так а что с скриптом делать? ошибка выбивает
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.601
    Симпатии:
    423
    Адрес:
    РД, г. Махачкала.
    Ты че, напрямую открываешь файл?
     
  10. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Запускать скрипт через веб-сервер. У тебя веб-сервер не запущен, поэтому php работать на страницах не будет, которые ты напрямую открываешь.
     
  11. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    @skropion ты бы код не картинкой выкладывал, а оформлял бы его как PHP, нужно в редакторе на форуме (где пишешь сообщение) нажать </> и там выбрать PHP.
    а то видишь, как не удобно с кодом который просто на картинке
     
  12. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    Код рандома

    PHP:
    1. <?
    2. $data = file("1.txt");
    3. $mx = 5; // сколько выводить
    4. $rand_links = array_rand($data, $mx);
    5. foreach ( $rand_links as $link )
    6. echo $data[$link];
    7. ?>
    нужно засунуть в кнопку HTML

    HTML:
    1. <div class="pricing-button mt-30">
    2.                                     <a href="#">
    3.                                     <form action="https://primearea.biz/buy/38637/">
    4.                                         <input type="hidden" name="foo"   value="bar" />
    5.                                 <input type="hidden" name="lorem" value="ipsum" />
    6.                                     <button type="submit">Купить</button>
    7.                                 </form>
    8.                                         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    9.                                 </a>
    10.                                 </div>
    11.                             </div> <!-- end table -->
    12.                         </div> <!-- end col -->
     
  13. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    PHP:
    1. <?php
    2. $data = file("1.txt");
    3. $mx = 5; // сколько выводить
    4. $rand_links = array_rand($data, $mx);
    5. foreach ( $rand_links as $link ) {
    6. ?>
    7.     <div class="pricing-button mt-30">
    8.         <a href="#">
    9.         <form action="<?=$data[$link]?>">
    10.             <input name="foo" type="hidden" value="bar"> <input name="lorem" type="hidden" value="ipsum"> <button type="submit">Купить</button>
    11.         </form>
    12.         </a>
    13.     </div><!-- end table -->
    14.     <!-- end col -->
    15. <?php
    16. }
    17. ?>
     
    skropion нравится это.
  14. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    Denis01 , а прошлую кнопку стирать ?с <div ... до </div>?
    --- Добавлено ---
    я через denwer , а ничего что у меня index.html?
     
  15. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    если denwer настроил web сервер на запуск файлов с расширение html через PHP, то ничего, если не будет работать, то переименуй html в php.
    попробуй, код только верху, внизу и в середине дописали
     
  16. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Ты не через денвер, я же скрин вижу
    upload_2017-5-21_14-50-46.png
    Если бы сервер в работу включался, было бы что-то типа http://localhost/file_folder/filename.php
     
  17. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    сейчас на хостинге попробую и отпишу [​IMG]
    --- Добавлено ---
    сейчас через хостинг попробую
     
    denis01 нравится это.
  18. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    вот что получилось..
    [​IMG]
    Denis01 , может я тебе в личку скину сайт и ты поможешь ? может я что-то не так делаю
     
    #18 skropion, 21 май 2017
    Последнее редактирование: 21 май 2017
  19. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    лучше тут

    ты как файл назвал который загружал на хостинг?
     
    skropion нравится это.
  20. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    я сразу сайт , а файл где менял называется index.html
    может другой php скрипт попробовать ?
     
  21. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    Denis , я нашел рабочий скрипт , но его нужно в отдельный файл .PHP , как сделать переадресацию кнопки на этот PHP файл:? а он уже дальше по ссылкам будет отправлять
    --- Добавлено ---
    Ещё в скрипте нужно что бы из txt брало , а не выписывать по ссылке

    PHP:
    1. $refs = array("http://php.ru", "http://php.net", "http://vk.com");//массив ссылок
    2. header('Content-Type: text/html; charset=utf-8');
    3. session_start(); //запускаем сессию, если она не запущена
    4. //если куки отсутствуют значит время истекло и пора выполнится условию
    5. if (!isset($_COOKIE['ref_id'])) {
    6.     setcookie("ref_id", "dkf", time() + 10); //Установим куки на 10 сек
    7.  
    8.     //Проверим нажата ссылка или нет
    9.     if ("условие нажатия ссылки") {
    10.         $val = $_SESSION['count']; //Сохраняем для сравнения с длиной массива ссылок
    11.         echo $val . " val";
    12.         //count($refs) - длина массива
    13.         if (count($refs) > $val) {
    14.             //Проверим пустая переменная или нет
    15.             //выполняется единижды
    16.             if (!isset($_SESSION['count'])) {    //если переменная пустая инициализируем ее.
    17.                 (int) $_SESSION['count'] = 0; //храним количество нажатий
    18.                 //потом уже используем массив ссылок, который пологается, что емеется
    19.                 $refs[$_SESSION['count']];
    20.                 $ref = $refs[$_SESSION['count']];
    21.                 //открываем ссылку в новом окне
    22.                 echo <<<END
    23.             <script language="JavaScript"> window.open('$ref');</script>'
    24. END;
    25.                 $_SESSION['count'] ++; //Увеличим на один
    26.             } else {
    27.                 $refs[$_SESSION['count']];
    28.                 $ref = $refs[$_SESSION['count']];
    29.                 //открываем ссылку в новом окне
    30.                 echo <<<END
    31.             <script language="JavaScript">window.open('$ref');</script>
    32. END;
    33.                 $_SESSION['count'] ++; //Увеличими на один
    34.              
    35.             }
    36.         } else {
    37.             //обнулим переменную сессий
    38.             //и ссылки будут обратно по порядку отображаться
    39.             $_SESSION['count'] = 0;
    40.         }
    41.     }
    42. } else {
    43.     echo "no isset";
    44. }
     
  22. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    переименуй в index.php
     
  23. skropion

    skropion Новичок

    С нами с:
    21 май 2017
    Сообщения:
    36
    Симпатии:
    2
    пробовал , там кнопки по всему сайту улетают. Почитай что я выше написал )
     
  24. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    тогда начни с вёрстки, за тебя мало кто это сделает, как будет готов html +css можно будет переходить уже к PHP