1. PHP / Говнокод #4083

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    function suka($str){
    
    $length = strlen($str);
    for($i=1; $i<=$length; $i++){
    
    $b = (-1)*$i;
    $substrl .= substr($str, $b, 1);
                  }
    
    echo $substrl;
    
    }
    $govno='jizni';
    suka($govno);

    Попросил соискателя написать функцию, которая перевернет строку. Просто хотелось посмотреть подход к коду.

    zorbis, 23 Августа 2010

    Комментарии (49)
  2. PHP / Говнокод #4082

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    <?php
    //Делаем массив
    $_verbose = array(
    "Вы не ввели слово которое хотите заменить!<br> 
    <form name='zadacha' action='2.php' method='post'>
    <b>То что вставить:</b><br>
    <input size='25'  maxlength='70' name='zamena'><br><br>
    <b>То что заменить:</b><br>
    <input size='25'  maxlength='70' name='slovo'><br>
    <input type='submit' name='text' value='Изменить' style='background-color: #ffc66d; font-family: Tahoma Courier New; font: bolder 12px ;cursor: hand; height: 18px; color: #000; padding: 10px 20px 10px 20px'> 
    </form>",
    "Вы не ввели слово которым будете изменять слово в документе!<br> 
    <form name='zadacha' action='2.php' method='post'>
    <b>То что вставить:</b><br>
    <input size='25'  maxlength='70' name='zamena'><br><br>
    <b>То что заменить:</b><br>
    <input size='25'  maxlength='70' name='slovo'><br>
    <input type='submit' name='text' value='Изменить' style='background-color: #ffc66d; font-family: Tahoma Courier New; font: bolder 12px ;cursor: hand; height: 18px; color: #000; padding: 10px 20px 10px 20px'> 
    </form>",);
    
    if(empty($_POST['slovo'])){
    echo $_verbose[0];
    exit;
    }
    
    if(empty($_POST['zamena'])){
    echo $_verbose[1];
    exit;
    }
    
    //Читаем файл из всех строчек в одну
    $text = file_get_contents("1.txt"); 
    //Меняем введеное из первой формы на второе 
    $text = str_replace($_POST['slovo'], $_POST['zamena'], $text); 
    // удаляем html и php тэги
    $text = strip_tags($text);
    // заменяем двойной пробел на одиночный
    $text = str_replace("  ", " ", $text);
    //удаляем пробелы с конца и начала
    $text = trim($text);
    //w - перезапись, a - дозапись
    $flag_rc = "w";
    //Открываем файл с параметром $flag_rc
    $rc_file = fopen("1.txt", $flag_rc); 
    // применяем функцию блокировки файла с флагом записи 
    flock($rc_file, LOCK_EX);
    // записываем в файл данные
    fputs($rc_file, "$text"); 
    // снимаем блокировку 
    flock($rc_file, LOCK_UN); 
    // закрываем дескриптор указывающий на файл 
    fclose($rc_file);
    // Показываем результат и выходим
    echo $text;
    
    exit;
    
    #########################################################
    #А вот строчка которую надо куда то пихнуть для проверки#
                                                            #
    #//Проверяем вписаны ли слова в свои формы              #
    #if(empty($_slovo)){                                    #
    #echo $_verbose[0];                                     #
    #exit;                                                  #
    #########################################################
    #if(empty($_zamena)){                                   #
    #echo $_verbose[1];                                     #
    #exit;                                                  #
    #########################################################
    ?>

    Этот говнокод - содержимое http://upwap.ru/993821 (первая ссылка, данная в ответ в копипасте ниже).
    Мобильный форум Wap-разработчиков хостинга kmx.ru

    Форум
    Тема: Куда пихнуть этот кусок пхп?
    Nelix 16.08.10 16:18
    Вобщем вот ссылка на этот скрипт в архиве: http://lastbastion.kmx.ru/Zamena.rar //// Этот скрипт меняет одно слово на другое в тхт доке, можете протестить, всё работает... Я решил сделать фильтр там, на то что бы если в форме нет ничего то выводилась ошиб
    Nelix 16.08.10 16:20
    ..ошибка и естественно выход, парметр emty , в архиве в коде его там найдете в комментах, и куда их пихнуть не знаю... либо ошибка выходит, либо не работает.. вчера написал в 3 раза больше код с ЭТИМИ же самыми проверками на запись в форме а седня не могу
    Nelix 16.08.10 16:22
    Посмотрите плиииззз и скажите что я не правильно делал там... весь день сижу над этой фигней:( гг
    stallon 16.08.10 17:41
    http://upwap.ru/993821 пароль kmx . С тебя пиво
    Nelix 16.08.10 18:12
    Работает))) Сочтемся как-нибудь) .пиво. а чем отличаются скобки квадратные от загнутых? Ну я имею ввиду не формой а в коде php, разница между ними есть какие надо использовать?
    Nelix 16.08.10 18:17
    Ая сча подумал и ещё вот так сделал: http://upwap.ru/993861 пароль kmx есть разница какая то в наших кодах? Работает одинаково совершенно...хм.. минусы плюсы? Если не сложно..
    stallon 16.08.10 18:40
    в фигурные скобки заключается условие какое-либо. в квадратные. много что
    stallon 16.08.10 18:53
    почитай о такой директиве как register_globals. мой код для рег_глобалс off, твой для рег_глобалс on. что нежелательно
    Nelix 17.08.10 15:27
    Почитал:) Но ничего не понял:( гг

    7ion, 23 Августа 2010

    Комментарии (13)
  3. PHP / Говнокод #4081

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    if($usershow != 0) {
    				
    	$site->AddBlock('topnav', true, true, 'tn');
    				
    	$var['nav'] = '';
    				
    	$site->AddSubBlock('topnav', true, $var);
    				
    } else {
    				
    	$site->AddBlock('topnav', true, true, 'tn');
    				
    	$var['nav'] = $top_nav;
    				
    	$site->AddSubBlock('topnav', true, $var);
    				
    }

    Мартин, 23 Августа 2010

    Комментарии (4)
  4. PHP / Говнокод #4080

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    $connect=mysql_connect($server,$login,$password);
    if(!@$connect)
    {echo "<b><font color='#CC0000'>Нет соединение mysql</font></b>";
    exit();}

    SunnyMagadan, 23 Августа 2010

    Комментарии (3)
  5. PHP / Говнокод #4079

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php
    
    if (! (false === $cnt))
    {
        // ...
    }

    Сначала от этой конструкции у меня взорвался мозг. Потом, когда я увидел аналогичную, только вместо false пустая строка, я понял, что «просто в пхп нет оператора "!===" ».

    user654321, 23 Августа 2010

    Комментарии (17)
  6. PHP / Говнокод #4076

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    function constructor(){
    		parent::XXXModule();
    		if (!class_exists('XXXSU'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSU.php'));
    			
    		if (!class_exists('XXXSUsRouter'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsRouter.php'));
    			
    		if (!class_exists('XXXSUFingerprint'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUFingerprint.php'));
    			
    		if (!class_exists('XXXSUDao'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUDao.php'));
    			
    		if (!class_exists('XXXSUCategory'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUCategory.php'));
    		if (!class_exists('XXXSUsLocale'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsLocale.php'));
    			
    		if (!class_exists('XXXSUsHelper'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsHelper.php'));
    			
    		if (!class_exists('XXXSUsEmailTemplate'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsEmailTemplate.php'));
    		if (!class_exists('XXXSUsEmailTemplatesDao'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsEmailTemplatesDao.php'));
    	}

    конструктор класса - после некоторой маскировки имен(constructor,XXX,SU,join_path).

    Писал javист, волею судеб, но против своей, пересевший на ненавистный php

    функция join_path - не его, а из некоторого говновелосипеда.

    Lure Of Chaos, 23 Августа 2010

    Комментарии (11)
  7. PHP / Говнокод #4075

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    $names = array("Иван","Петр","Семен"); 
    if ($names[0]=="Иван"): 
    ?>
    <?php
    Привет, Ваня!
    endif; ?>

    Вот такому коду учат на intuit.ru

    Ded_Maksim, 23 Августа 2010

    Комментарии (95)
  8. PHP / Говнокод #4074

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    Часть 1
    =====================================
    foreach ($_POST['massive'] as $key => $val)
    {
    @mysql_query("INSERT INTO table VALUES (NULL,'".$val."'");
    } 	
    ======================================
    Часть 2
    ======================================
    if (!empty($_POST['massive'])/*&&is_array($_POST['massive']) для любителей пожестче=)*/)
    {
    //Так мы точно знаем что нам что-то передали(не выскочит нотис).
    //Далее надо сформировать правильный запрос. Никогда, НИКОГДА нельзя делать кучу инсертов циклом, т.к. скорее всего это закончиться смертью сервера.
    //А сделать как-нить так
    
    foreach ($_POST['massive'] as $key => $val)
    {
     $query.="('".mysql_real_escape_string($val)."'),"; //Cделаем заготовку для запроса, попутно параметр экранируется, что бы злобные хакеры не подсунули нам кавычку и прочую гадость.
    }
    $query= 'INSERT INTO table VALUES'.substr($query, 0, -1).';';//Обрежем последнюю лишнюю запятую, и в итоге получим запрос вида INSERT INTO table VALUES (),(),()..();
    if (!mysql_query($query)) //Скажу по секрету, что ставить собаку это моветон.
    {
     print "Упс, что-то сломалось";
     print mysql_error();
    }else {print "Вот и все"}
    ==========================================

    Вобщем, увидел на одном форуме часть 1.
    Будучи в хорошем настроении решил поправить. И Выдал часть 2, прямо вот в форуме. Думал отправить.. Но попахивает же, да?

    vitaly, 23 Августа 2010

    Комментарии (16)
  9. PHP / Говнокод #4073

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    $a = !empty($_POST['a'])?$_POST['a']:null;
       if (empty($_POST['submit']) || !is_numeric($a)) {
         } else {
            echo "Прошол!";

    Vasiliy, 23 Августа 2010

    Комментарии (7)
  10. PHP / Говнокод #4072

    +171

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    (
    	$hours >= 21 && $minutes >= 0	
    	or $hours == 0 && $minutes >= 0
    	or $hours == 1 && $minutes >= 0
    	or $hours == 2 && $minutes >= 0
    	or $hours == 3 && $minutes >= 0
    	or $hours == 4 && $minutes >= 0
    	or $hours == 5 && $minutes >= 0
    	or $hours == 6 && $minutes >= 0
    	or $hours == 7 && $minutes >= 0
    	or $hours == 8 && $minutes >= 0
    )

    http://webcodes.ru/publ/1-1-0-3524

    uWeb, 23 Августа 2010

    Комментарии (8)