За последние 24 часа нас посетили 15844 программиста и 1552 робота. Сейчас ищут 917 программистов ...

счетчик и список

Тема в разделе "PHP для новичков", создана пользователем warrior512, 28 июл 2011.

  1. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Добрый день уважаемые PRO.
    Сделал такую страничку http://blablablahamyha.500mb.net/page.php
    счетчик взял готовый из интернета. Мне нужно сделать так чтоб перед ссылкой "темная сторона" была форма типа: "назовите свое имя" , и будет отдельный блок, где будет выводится список всех имен кто принял темную сторону. И еще хотелось бы изменить счетчик так, чтобы с одного ip можно было 1 раз "вступить на темную сторону". нужно готовое решение скрипта. Да, и без использование баз данных, чисто на файлах.
    Спасибо.
    Код (Text):
    1.  
    2. <?php
    3. if(!file_exists('counter.txt')){
    4. file_put_contents('counter.txt', '0');
    5. }
    6. if($_GET['click'] == 'yes'){
    7. file_put_contents('counter.txt', ((int) file_get_contents('counter.txt')) + 1);
    8. header('Location: ' . $_SERVER['SCRIPT_NAME']);
    9. die;
    10. }
    11. ?>
    12.  
    13.  
    14. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    15. <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
    16.  <head>
    17.   <title></title>
    18.   <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    19.   <meta name="description" content="" />
    20.   <meta name="keywords" content="" />
    21.   <link rel="stylesheet" href="style.css" type="text/css" />
    22.  </head>
    23.  <body>
    24.   <div id="text">
    25.   <p>Переходи на тёмную сторону<br />...у нас печеньки<br />нас уже <?php echo file_get_contents('counter.txt'); ?></p>
    26.   <a class="dark" href="?click=yes">Темная сторона</a>
    27.   </div>
    28.   <div id="copy">
    29.   <p>© by К@ЛЬЯНЫЧ</p>
    30.   </div>
    31.  </body>
    32. </html>
     
  2. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Блин, товарищи, задача поистине простая, но не для меня. Где Вы гуру php? Вам это как 2 пальца.....
     
  3. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Да, и чтобы не считал клики если поле с именем пустое. И ограничить максимальное количество символов.
     
  4. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Я так понимаю такие темы как моя просто игнорят?
     
  5. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Тебе в раздел фриланс.
    Это как 2 пальца , геморных.
    Ну может какой-то новичок для практики и захочет.
    Просто так можно тебе список операторов дать с которыми нужно работать, а ты уже сам и сделаешь.
     
  6. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Фриланс здесть не причем. Просто хочу это реализовать для себя и не приследую никаких комерческих целей. Дайте хоть список операторов тогда.
     
  7. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    PHP:
    1. <?
    2. $ip=$_SERVER['REMOTE_ADDR'];
    3. $file=file_get_contents('users_ip.txt');
    4. $file=explode("|",$file);
    5. if(!in_array($ip,$file))
    6. {
    7. #voting code
    8. $file[]=$ip;
    9. $file=implode("|",$file);
    10. file_put_contents('users_ip.txt',$file);
    11. }
    12. else
    13. {
    14. #already voted code
    15. }
    16.  
    17.  
    18. ?>
    в implode не уверен , пишу с коленки
    если будет очень много ip , то такая реализация не катит
     
  8. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    я забыл сказать что я полный 0 в php.
     
  9. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    нет , тут все ходили в спец.пхп.вуз
     
  10. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    этот скрипт записывает в моем случае имя в файл? и как прикрепить тогда его к ссылке?
     
  11. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    пилять
    PHP:
    1. <?php
    2.  if(!file_exists('counter.txt')){
    3.  file_put_contents('counter.txt', '0');
    4.  }
    5.  if($_GET['click'] == 'yes'){
    6. $ip=$_SERVER['REMOTE_ADDR'];
    7.  $file=file_get_contents('users_ip.txt');
    8.  $file=explode("|",$file);
    9.  if(!in_array($ip,$file))
    10.  {
    11.  file_put_contents('counter.txt', ((int) file_get_contents('counter.txt')) + 1);
    12. $file[]=$ip;
    13.  $file=implode("|",$file);
    14.  file_put_contents('users_ip.txt',$file);
    15.  header('Location: ' . $_SERVER['SCRIPT_NAME']);
    16.  die;
    17. }
    18.  else
    19.  {
    20.  echo "Вы уже голосовали";
    21. header('Location: ' . $_SERVER['SCRIPT_NAME']);
    22.  }
    23.  }
    24.  
    25.  ?>
    дальше сам допиливай , создай users_ip.txt и допиливай
     
  12. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Я конечно понимаю, что это сверхнаглость, но подскажите пожалуйста, как мне к форме прикрепить.
     
  13. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    PHP:
    1. <?php
    2.   if(!file_exists('counter.txt')){
    3.   file_put_contents('counter.txt', '0');
    4.   }
    5.   if($_GET['click'] == 'yes'){
    6.  $ip=$_SERVER['REMOTE_ADDR'];
    7.   $file=file_get_contents('users_ip.txt');
    8.   $file=explode("|",$file);
    9.   if(!in_array($ip,$file))
    10.   {
    11.   file_put_contents('counter.txt', ((int) file_get_contents('counter.txt')) + 1);
    12.  $file[]=$ip;
    13.   $file=implode("|",$file);
    14.   file_put_contents('users_ip.txt',$file);
    15.   header('Location: ' . $_SERVER['SCRIPT_NAME']);
    16.   die;
    17.  }
    18.   else
    19.   {
    20.   echo "Вы уже голосовали";
    21.  header('Location: ' . $_SERVER['SCRIPT_NAME']);
    22.   }
    23.   }
    24.  
    25.   ?>
    26.  
    27. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    28.  <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
    29.   <head>
    30.    <title></title>
    31.    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    32.    <meta name="description" content="" />
    33.    <meta name="keywords" content="" />
    34.    <link rel="stylesheet" href="style.css" type="text/css" />
    35.   </head>
    36.   <body>
    37.    <div id="text">
    38.    <p>Переходи на тёмную сторону<br />...у нас печеньки<br />нас уже <?php echo file_get_contents('counter.txt'); ?></p>
    39.    <a class="dark" href="?click=yes">Темная сторона</a>
    40.    </div>
    41.    <div id="copy">
    42.    <p>© by К@ЛЬЯНЫЧ</p>
    43.    </div>
    44.   </body>
    45.  </html>
    весь код
    ъ
    всё писал с коленки , так что по ошибкам бей других обывателей , а я спать
     
  14. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    блин, но как и какую переменную прикрепить к форме. я хочу чтоб была форма "введите имя" потом кликаешь ссыль и имя добовляется в конец файа, а файл в отдельном блоке выводит весь список.
     
  15. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    как вывести файл я понял
    <?php echo file_get_contents('users_ip.txt'); ?>
     
  16. georgela

    georgela Активный пользователь

    С нами с:
    11 май 2011
    Сообщения:
    395
    Симпатии:
    0
    Читай про CSS html и php
    Задача решается при помощи того что человек читает книги
     
  17. georgela

    georgela Активный пользователь

    С нами с:
    11 май 2011
    Сообщения:
    395
    Симпатии:
    0
    warrior512
    Ага еще есть полезная функция serialize которая может в одну строку файла запихать ip имя дату и дофига всего
     
  18. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    CSS и html я знаю, и в книгах про них не пишут как присваивать значение переменной php. А php книги перелопачивать из-за одной единственной задачи не хочется.
     
  19. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Большое спасибо за информацию, было бы на много легче если бы я понял о чем идет реч.
     
  20. georgela

    georgela Активный пользователь

    С нами с:
    11 май 2011
    Сообщения:
    395
    Симпатии:
    0
    Школьная задача прочитай элементарный курс по php
    Полезнее и понятнее
     
  21. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    То что php я буду изучать рано или поздно это правда, но не сейчас.
     
  22. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    Просто мне сегодня очень приспичило реализовать эту бредовую идею, никакой коммерции и фриланса.
     
  23. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    блин
    фриланс это когда ты платишь деньги за то что тебе напишут
    у тебя есть цель , я тебе дал кучу кода который тебе осталось понять и даже не понять а дописать тупую постилку ника в паралельный файл
    у меня по жизни были гениальные идеи , но я никогда ниукого не просил в таком виде помощи чтобы сделали вместо меня
     
  24. warrior512

    warrior512 Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    28
    Симпатии:
    0
    я знаю, что такое фриланс. Я это сказал, чтобы Вы меня не подозревали в использовании ваших умных голов в своих коммерческих целях.
     
  25. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ваши идеи и не тянут на коммерческие. ты за 3 дня сможешь выучить как отправить форму в post , как её разобрать и как сохранить и вывести результат и это намного проще того что я написал выше , хотя и там детсад.
    и да , купи хостинг , я ничего не зная покупал в 15 лет и разбирался.