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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function Check_email(mail1)
        {
            var found = false;
          for (i=0;i<mail1.length;i++)
          {
            if (mail1.charAt(i) == '@') found = true;
            if (mail1.charAt(i) == '.' && found) return true;
          }
          return false;
        }

    ух щи-

    wiz, 01 Июля 2010

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

    +144

    1. 1
    http://wiki.php.net/rfc/functionarraydereferencing

    На днях наткнулся вот такую ночную вазу с хорошо выдержанным содержимым.
    Копипастить не буду, просто загляни под крышку.
    Речь идет о том чтобы спустя 10 лет наконец пропатчить невозможность обращения к элементу массива без использования промежуточной переменной, если массив возвращается функцией (коих функций в Personal Home Page сотни).
    Также обратите внимание на даты.

    bugmenot, 30 Июня 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $F1 = F2($x);
               if ($F1 !== 0)
                   {
                       $InInt = false;
                       if ($F1) $InInt = true; // <--- это писец
                       if (!$InInt) continue; // <--- это тоже
                   }
               $F3 = F($x);
               $SumH += abs($F3);

    Goga, 30 Июня 2010

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

    +103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    fputs(fopen("ttext.txt", "w+"),"Мега текст!"); # создание файла и запись
    fpassthru(fopen("ttext.txt", "w+")); # отображение
    copy("ttext.txt", "ttext2.txt"); # копирование
    fputs(fopen("ttext2.txt", "w+"), "скопированный Мега текст"); # запись
    rename("ttext2.txt", "dctext.txt"); # переименование
    fpassthru(fopen("dctext.txt", "w+")); # отображение
    unlink("dctext.txt"); # удаление
    fclose(fopen("ttext.txt", "w+")); # закрытие

    Vasiliy, 29 Июня 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function banByIP($ip) {
    	$result = mysql_query("SELECT * FROM `" . $GLOBALS['mysql_bans_table'] . "` WHERE `ip` = '" . mysql_real_escape_string($ip) . "' LIMIT 1");
    	while ($ban = mysql_fetch_assoc($result)) {
    		return $ban;
    	}
    }

    Из движка TinyIB.

    telnet, 29 Июня 2010

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

    +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
    if($_POST["gaap_month"])
    {
            $d_f = mktime(0,0,0,1,1,$_POST['f_year']);
            $w_start = intval(date("W", $d_f));
            $w_day = (intval(date("w", $d_f)) == 0) ? 6 : intval(date("w", $d_f)) - 1;
            $d_f = ($w_start == 1) ? $d_f - $w_day*24*60*60 : $d_f + (7-$w_day)*24*60*60;
            $d_f += (4*($_POST['gaap_month']-1) + intval(($_POST['gaap_month']-1)/3)) * 7*24*60*60;
            $d_t = ($_POST['gaap_month'] % 3 == 0) ? $d_f + 5*7*24*60*60 : $d_f + 4*7*24*60*60;
            $_POST["df"] = date("d.m.Y", $d_f);
            $_POST["dt"] = date("d.m.Y", $d_t);
    }
    
    $date_from = mktime(0,0,0,substr($_POST["df"],3,2),substr($_POST["df"],0,2),substr($_POST["df"],6,4));
    $date_to = mktime(23,59,59,substr($_POST["dt"],3,2),substr($_POST["dt"],0,2),substr($_POST["dt"],6,4));
    
      // if time period more than 20 days
    if ($date_to-$date_from > 61*24*60*60)
            $_POST["df"] = date("d.m.Y", $date_to - 61*24*60*60);
    
    if ($_GET['office'] && ($USER->isAdmin() || in_array("15", $USER->GetUserGroupArray())))
            $_POST['t_office'] = $_GET['office'];

    вопрос - что употребляет автор ?

    atarix12, 28 Июня 2010

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

    +144

    1. 1
    Это не совсем говнокод, но отношение к нему имеет прямое : костыли, теперь ясно где их берут http://kostili.blogspot.com/ .

    Ехал по трассе и несмог удержаться, чтобы не клацнуть на память такую красоту. Как говорится "понятно только программистам" и то не всем :)

    kostili, 28 Июня 2010

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $vl_c=fetch_array($rs_c);
    $ch1=$vl_c[0]%4;$ch2=((int)$vl_c[0]/4)%4;$ch3=((int)$vl_c[0]/16)%4;
    if($vl_c[16]==''||$vl_c[16]==0){$ch2=0;}if($vl_c[18]==''||$vl_c[18]==0){$ch3=0;}
    $s1=$vl_c[19]%2; $s2=($vl_c[19]/2)%2; $s3=$vl_c[19]/4;
    
    if(($vl_c[20]==0||$vl_c[20]==2&&$s1==1)&&($ch1>1||$ch1==0)){$chk_status1=check_sert(str_replace("\\'","'",$vl_c[1]),str_replace("\\'","'",$vl_c[2]),str_replace("\\'","'",$vl_c[3]),$vl_c[4],$vl_c[5],$vl_c[6],$vl_c[13],$vl_c[14]);} else{$chk_status1=$ch1;}
    if(($vl_c[20]==0||$vl_c[20]==2&&$s2==1)&&($ch2>1||$ch2==0)&&($vl_c[16]!=''&&$vl_c[16]!=0)){$chk_status2=check_sert(str_replace("\\'","'",$vl_c[1]),str_replace("\\'","'",$vl_c[2]),str_replace("\\'","'",$vl_c[3]),$vl_c[7],$vl_c[8],$vl_c[9],$vl_c[15],$vl_c[16]);} else{$chk_status2=$ch2;}
    if(($vl_c[20]==0||$vl_c[20]==2&&$s3==1)&&($ch3>1||$ch3==0)&&($vl_c[18]!=''&&$vl_c[18]!=0)){$chk_status3=check_sert(str_replace("\\'","'",$vl_c[1]),str_replace("\\'","'",$vl_c[2]),str_replace("\\'","'",$vl_c[3]),$vl_c[10],$vl_c[11],$vl_c[12],$vl_c[17],$vl_c[18]);} else{$chk_status3=$ch3;}
    $chk=$chk_status1+$chk_status2*4+$chk_status3*16;

    AdOLF_04, 27 Июня 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    function repl3($val)
    {
        return ($val=="1")?"0":"1";
    }

    AdOLF_04, 27 Июня 2010

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

    +162

    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
    <?
    $server="localhost";
    $user="";
    $pass="";
    $DB="mynews";
    $ntitle=$title;
    $ntext=$newstext;
    $nuser=$user;
    $now = date(" H : i : s d - m - Y "); // дата будет выводиться в формате "время, дата"
    mysql_connect($server,$user,$pass) or die("Нет коннекта!");
    mysql_select_db($DB);
    mysql_query("Insert INTO news(ntitle,ntext,ndate,nuser) VALUES('".addslashes($ntitle)."','".addslashes($ntext)."','".addslashes($now)."',
    '".addslashes($nuser)."')");
    mysql_close();
    echo "Новость добавлена!";
    ?>

    Чуть ниже:

    '". addslashes ($ ntitle )."' // эта строка нужна для того, чтобы в заголовке правильно отображались кавычки.
    Оттуда же: "Как видите, вместо mysql-даты используется varchar, так проще."

    http://sources.ru/magazine/0106/08.html

    telnet, 27 Июня 2010

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