1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Кармометр

Тема в разделе "Web - программирование", создана пользователем 1ive, 21 дек 2010.

  1. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    Хочу всех рассказать о своем новоизобретенном велосипеде)
    Даже не просто рассказать, а показать как все работает...

    Итак, сегодня мы я расскажу как сделать "кармометр"
    Зачем? хм...
    Каждый человек любит подниматься в глазах других.
    Среди них есть и такие, кому нужно подниматься и в своих глазах..

    Этот как прокачивать своего "эльфа 80г уровня", только более глобально). Ты прокачиваешь сам себя!
    Да и каждому нужны какие-либо стимулы и награды в жизни..

    Приступим?

    Дело все будет работать на php + 2 таблицы в MySQL для хранения информации.
    На главной - текущая карма (рейтинг), две кнопочки (+ и -) ну и, наверное, список тех, кто поставил оценку)


    Не знаю, можно ли и это тоже называть говнокодом)
    Если что - напишу еще раз)


    PHP:
    $dbName "база данных"
    mysql_connect("сервер","пользователь","пароль ");
    mysql_select_db($dbName);
    $query "SELECT `karma` FROM `karma` LIMIT 1";
    $sql mysql_query($query) or die(mysql_error());
    $row mysql_fetch_assoc($sql);
    $karma $row['karma'];
    $ip $_SERVER['REMOTE_ADDR'];
    function 
    update_karma()
    {
    global 
    $karma;
    $query "UPDATE karma SET karma='$karma'";
    mysql_query($query) or die (mysql_error());
    }

    function 
    secure($value)

    $value=htmlspecialchars($value);
    $value=preg_replace("/\n/",'<br>',$value);return $value;
    }

    function 
    add_mess($znak)
    {
    global 
    $mess;
    global 
    $ip;
    global 
    $nick;
    global 
    $id
    $query "INSERT INTO why VALUES('$id','$znak','$mess', '$ip', '$nick')";
    mysql_query($query) or die(mysql_error());
    }
    function 
    done_pr()
    {
    die(
    'Оценка добавлена.<a href="index.php">Вернуться на главную</a>');
    }


    function 
    print_form($add_znak)

    print(
    '
    <form action="index.php" method="post">
    От
    <input name="nick" value="Анонимуса"></input>
    За
    <textarea cols="40" rows="3" type="text" name="mess" value=""></textarea>
    <input type="submit" name="'
    .$add_znak.'" value="Добавить"/>
    </form>'
    );
    }
    function 
    print_why() 
    {
    $query "SELECT * FROM why";
    $res mysql_query($query) or die(mysql_error());
    while (
    $row mysql_fetch_array($res))
    {
    print(
    '<span>'.$row['znak'].' от '.$row['nick'].' сообщение '.$row['text'].'</span><br/>');
    }
    }


    if(isset(
    $_POST['nick'])){$nick secure($_POST['nick']);}
    if(isset(
    $_POST['mess'])){$mess secure($_POST['mess']);}

    if(isset(
    $_POST['add_minus'])){print_form(minus);exit;}
    if(isset(
    $_POST['minus'])){$karma--; update_karma();add_mess('-');done_pr();}
    if(isset(
    $_POST['add_plus'])){print_form(plus);exit;}
    if(isset(
    $_POST['plus'])){$karma++; update_karma();add_mess('+');done_pr();}

    print(
    $karma);print('<form action="index.php" method="post"><input type="submit" value="+" name="add_plus"/><input type="submit" value="-" name="add_minus"/></form>');print_why();
     
  2. acorn

    acorn PHP Developer

    Репутация:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    585
    Симпатии:
    3
    Не хочу Вас обидеть, но это называется говнокодом..
     
  3. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    да-да-да)
    Именно говнокод.
    Согласен..
    Писал на скорою руку)) в неподходящей обстановке...не было времени оптимизировать)


    Мне стыдно.
    Исправлюсь.
    Завтра.

    :facepalm:
     
  4. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    У лайва партиное задание. Не отвлекай=) Он под моей опекой=)
     
  5. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    vital а как же карма? вдруг за код ее слегка подпортят, а? :facepalm:
     
  6. acorn

    acorn PHP Developer

    Репутация:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    585
    Симпатии:
    3
    ну раз всё так серьезно :rolleyes:
     
  7. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    Господа, сорри за офтоп, но у меня созрел лозунг: "Даешь больше говнокода по опекой у vital-а!"
     
  8. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    European меня вот тоже удивило - обычно vital как раз против подобного кода и очень жестко за это наезжает.
    Но там действительно серьезное партийное задание было =)
     
  9. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    кстати, а это так и задумано - такое цветовое решение для текста после добавления оценки? =)
    Кармометр
     
  10. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    ПереписаЛ)
    Линчуйте...

    Любой код можно оптимизировать до бесконечности..

    Насчет цветогого решения...Опять же) Не очень хотелось подбирать что-то оригинальное.. Просто взял за основу три цвета.
    (#fff, #f9f9f9,#444)

    На 1ive.ru/karma - пример работы(совсем без дизайна)
     
  11. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    ну, я ж не просила диз от лебедева :), просто белый текст на белесом фоне смотрится прикольно...
     
  12. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0

    Новый слоган: "дизайны без контрастов" :)
     
  13. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    ненавижу процедурный подход и PHP4 style. ЧА посмотрю код внимательно.

    Добавлено: посмотрел.
    Ты что, по Попову учился? Переписывать еще раз.
    global забудь.
    вместо этого preg_replace("/\n/",'<br>',$value);
    юзай nl2br();
    Это типа маленькие подсказки. + логику немного стоит пересмотреть.
    И сделай это классом(очень желательно).
     
  14. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    совсем забыл. Иди нафиг=)
     
  15. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    vital под НГ решил подарок сделать - уроки хорошего тона на пхп? =)
     
  16. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0

    "по Попову учился?"
    Самоучка.. Учусь только на практике)
     
  17. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    Не будем учитывать твою личную неприязнь к процедурам)
    Без global - не работает
    nl2br(); - не такое уж и серьезное изменение..

    И вообще я не вижу смысла в каких-либо изменениях.
    Можете закидать меня тапками
     
  18. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    лучше снежками ;) вон сколько нам на лого тимов привалило снега. Надо и тебе чуток дать =)
     
  19. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    Брр)
    Он холодный.. и мокрый, когда тает...
     
  20. acorn

    acorn PHP Developer

    Репутация:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    585
    Симпатии:
    3
    форматирование страдает... а вообще, я бы любую книгу по PHP начинал с азов MVC
     

Поделиться этой страницей