Говнокод отечественного производства на PHP

Низ

Айвазовский
Меценат
Участник Новогоднего Фонда 2023
Главный тролль
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Победитель в номинации 2020
Победитель в номинации 2019
Боевая финансовая поддержка
Знаток графики и верстки
Сообщения
689
Розыгрыши
0
Решения
1
Репутация
599
Реакции
501
Баллы
1 613
Это авторское исполнение редкостного говна на PHP. Многие сомневаются, что смогу их удивить своей кривизной мышления отсутствия грамматики. Давайте посмотрим. Начнем с малого

Код:
// "Cтраница карнизов" *

else if ($Page == 'cornice') {
if (!$Module or $Page == 'cornice' and $Module == 'category' or $Page == 'cornice' and $Module == 'main' or $Module == 'podcategory') include('module/product/cornice/cornice.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/cornice/material_cornice.php');   

else if ($Module == 'edit') include('module/product/cornice/edit_cornice.php');   
}

// "Страница душевая программа" *

else if ($Page == 'shower') {
if (!$Module or $Page == 'shower' and $Module == 'category' or $Page == 'shower' and $Module == 'main' or $Module == 'podcategory') include('module/product/shower/shower.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/shower/materialshower.php');   

else if ($Module == 'edit') include('module/product/shower/editshower.php');   
}

else if ($Page == 'washes') {
if (!$Module or $Page == 'washes' and $Module == 'category' or $Page == 'washes' and $Module == 'main' or $Module == 'podcategory') include('module/product/washes/washes.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/washes/materialwashes.php');   

else if ($Module == 'edit') include('module/product/washes/editwashes.php');   
}
else if ($Page == 'bath') {
if (!$Module or $Page == 'bath' and $Module == 'category' or $Page == 'bath' and $Module == 'main' or $Module == 'podcategory') include('module/product/bath/bath.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/bath/materiabath.php');   

else if ($Module == 'edit') include('module/product/bath/editbath.php');   
}
else if ($Page == 'pencilcase') {
if (!$Module or $Page == 'pencilcase' and $Module == 'category' or $Page == 'pencilcase' and $Module == 'main' or $Module == 'podcategory') include('module/product/pencilcase/pencilcase.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/pencilcase/materialpencilcase.php');

else if ($Module == 'edit') include('module/product/pencilcase/editpencilcase.php');
}
else if ($Page == 'product2') {
if (!$Module or $Page == 'product2' and $Module == 'category' or $Page == 'product2' and $Module == 'main' or $Module == 'podcategory') include('module/product/smes/smes.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/smes/materialsmes.php');

else if ($Module == 'edit') include('module/product/smes/editsmes.php');
}

else if ($Page == 'accessories') {
if (!$Module or $Page == 'accessories' and $Module == 'category' or $Page == 'accessories' and $Module == 'main' or $Module == 'podcategory') include('module/product/accessories/accessories.php');
else if ($Module !== 'material' and $Module !== 'edit') {
     header("HTTP/1.0 404 Not Found");
    exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/accessories/materialaccessories.php');
   
else if ($Module == 'edit') include('module/product/accessories/editaccessories.php');
}

Как видите комментирование отсутствует, а собственно зачем? Как не трудно догадаться, идет вызов и инклуд нужных страниц сайта. Категорий 12 , а тут лишь малая часть, тк весь код - большой. Этот пример только для разогрева, дальше будет позоще
 
Последнее редактирование модератором:

В тег CODE нужно было закинуть. Ничего плохого не увидел, видели в разы хуже, а то и 10 раз. Возьму фрейм и половина из кода просто отпадёт. Стоит открыть код 1С и там хуже будет
 
kick, добавил тэг. Жестко вы меня конечно обломали.... я был уверен, что это редкостное дерьмо. Ладно по позже попробую еще кое-что докинуть
 
  • Ха-ха-ха
Реакции: kick
А где код то? Че нам инклуды то показывать, где классы, где функции?
 
А где код то? Че нам инклуды то показывать, где классы, где функции?
Код:
<?php
class Vegetable {
    var $edible;
    var $color;
    function __construct($edible, $color="green")
    {
        $this->edible = $edible;
        $this->color = $color;
    }
    function is_edible()
    {
        return $this->edible;
    }
    function what_color()
    {
        return $this->color;
    }
}
class Spinach extends Vegetable {
    var $cooked = false;
    function __construct()
    {
        parent::__construct(true, "green");
    }
    function cook_it()
    {
        $this->cooked = true;
    }
    function is_cooked()
    {
        return $this->cooked;
    }
}
?>

:loltt0:
 
Gregory, классов естестно нет, потому, что я ими не научился пользоваться. Сейчас приду в чувства и еще выкину
 
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки

PHP:
function Str_result($POST){
 
 
  
     if (!isset($_SESSION['Ul_params'])) {
      $_SESSION['Ul_params'] = 0;
      } else {
      
      if ($_POST['NameUP']) $_SESSION['Ul_params'] = 1;
      else if ($_POST['NameDown']) $_SESSION['Ul_params'] = 2;
      else if ($_POST['PriceUP']) $_SESSION['Ul_params'] = 3;
      else if ($_POST['PriceDown']) $_SESSION['Ul_params'] = 4;
      else if ($_POST['idUP']) $_SESSION['Ul_params'] = 0;
      else if ($_POST['idDown']) $_SESSION['Ul_params'] = 5;
  }
  
     if($_SESSION['Ul_params'] == 0) return '`id` ASC';
     else if($_SESSION['Ul_params'] == 0) return '`id` ASC';
     else if($_SESSION['Ul_params'] == 1) return '`name` ASC';
     else if($_SESSION['Ul_params'] == 2) return '`name` DESC';
     else if($_SESSION['Ul_params'] == 3) return '`priceflo` ASC';
     else if($_SESSION['Ul_params'] == 4) return '`priceflo` DESC';
     else if($_SESSION['Ul_params'] == 5) return '`id` DESC';
 
 
}
 
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки

PHP:
function Str_result($POST){



     if (!isset($_SESSION['Ul_params'])) {
      $_SESSION['Ul_params'] = 0;
      } else {
    
      if ($_POST['NameUP']) $_SESSION['Ul_params'] = 1;
      else if ($_POST['NameDown']) $_SESSION['Ul_params'] = 2;
      else if ($_POST['PriceUP']) $_SESSION['Ul_params'] = 3;
      else if ($_POST['PriceDown']) $_SESSION['Ul_params'] = 4;
      else if ($_POST['idUP']) $_SESSION['Ul_params'] = 0;
      else if ($_POST['idDown']) $_SESSION['Ul_params'] = 5;
  }

     if($_SESSION['Ul_params'] == 0) return '`id` ASC';
     else if($_SESSION['Ul_params'] == 0) return '`id` ASC';
     else if($_SESSION['Ul_params'] == 1) return '`name` ASC';
     else if($_SESSION['Ul_params'] == 2) return '`name` DESC';
     else if($_SESSION['Ul_params'] == 3) return '`priceflo` ASC';
     else if($_SESSION['Ul_params'] == 4) return '`priceflo` DESC';
     else if($_SESSION['Ul_params'] == 5) return '`id` DESC';


}
Что-то пошло не так
Код:
if($_SESSION['Ul_params'] == 0) return '`id` ASC';
else if($_SESSION['Ul_params'] == 0) return '`id` ASC';
Много, оч. много if и else if. Пора научится пользоваться switch :Wahaha:
 
òbi, Глянул тех. доки по этому оператору. Скажу честно впервые узнал про него. На тех, на ком учился про этот оператор никогда не говорили
 
Низ, вот пример
Код:
    switch ($_SESSION['Ul_params']) {
        case 0: return '`id` ASC';
        case 1: return '`name` ASC';
        case 2: return '`name` DESC';
        case 3: return '`priceflo` ASC';
        case 4: return '`priceflo` DESC';
        case 5: return '`id` DESC';
        //default: unregistered param!
    }
 
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки

PHP:
function Str_result($POST){


 
     if (!isset($_SESSION['Ul_params'])) {
      $_SESSION['Ul_params'] = 0;
      } else {
     
      if ($_POST['NameUP']) $_SESSION['Ul_params'] = 1;
      else if ($_POST['NameDown']) $_SESSION['Ul_params'] = 2;
      else if ($_POST['PriceUP']) $_SESSION['Ul_params'] = 3;
      else if ($_POST['PriceDown']) $_SESSION['Ul_params'] = 4;
      else if ($_POST['idUP']) $_SESSION['Ul_params'] = 0;
      else if ($_POST['idDown']) $_SESSION['Ul_params'] = 5;
  }
 
     if($_SESSION['Ul_params'] == 0) return '`id` ASC';
     else if($_SESSION['Ul_params'] == 0) return '`id` ASC';
     else if($_SESSION['Ul_params'] == 1) return '`name` ASC';
     else if($_SESSION['Ul_params'] == 2) return '`name` DESC';
     else if($_SESSION['Ul_params'] == 3) return '`priceflo` ASC';
     else if($_SESSION['Ul_params'] == 4) return '`priceflo` DESC';
     else if($_SESSION['Ul_params'] == 5) return '`id` DESC';


}
Видали и похуже) В разы хуже
Что-то пошло не так
Код:
if($_SESSION['Ul_params'] == 0) return '`id` ASC';
else if($_SESSION['Ul_params'] == 0) return '`id` ASC';
Много, оч. много if и else if. Пора научится пользоваться switch :Wahaha:
В чём преймущество switch?
 
kick, красивее смотрится ;) да и дергать одну и туже переменную для сравнения ее на разные значения ...
 
Последнее редактирование:
òbi, я думаю куска говна бантик не украсит. Я в дальнейшем переделал всю логику, пользуясь комментариями более опытных пользователей. Например использовал GET и передавал параметры через url. Правда всегда боялся использовать GET , но у меня и так дырявый сайт как сыр и от тех же xss не спасет наверное. Я правда до конца не понял, что такое xss ....
 
Andragor, понимаете ли. Мне это ничего не объяснило. Там даже примеры сложные. Мне нужно по проще объяснение...
 
PHP:
function PrepareGetList(
        &$arIblockElementFields,
        &$arJoinProps,
        &$bOnlyCount,
        &$bDistinct,

        &$arSelectFields,
        &$sSelect,
        &$arAddSelectFields,

        &$arFilter,
        &$sWhere,
        &$sSectionWhere,
        &$arAddWhereFields,

        &$arGroupBy,
        &$sGroupBy,

        &$arOrder,
        &$arSqlOrder,
        &$arAddOrderByFields,

        &$arIBlockFilter,
        &$arIBlockMultProps,
        &$arIBlockConvProps,
        &$arIBlockAllProps,
        &$arIBlockNumProps,
        &$arIBlockLongProps
        )
    {
 
kick, я ничего не понял. Мне кажется вы забываете с кем общаетесь ...
 
kick, я ничего не понял. Мне кажется вы забываете с кем общаетесь ...
это называется передача аргументов по ссылке.
вот что можно с этим сделать (на пример)
Код:
<?php

$val = 6;

function test(&$val) {
    $val *= 6;
}

echo $val; // выведет 6

test($val);

echo $val; // выведет 36

?>
 
Всё просто, чем проще язык, тем чаще такое встречается
 
Назад
Сверху Снизу