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

    +154

    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
    // берет запрос и делает из него массив
    	public function requestUri() {
    		if (isset($_SERVER['REQUEST_URI'])) {
    			$uri = $_SERVER['REQUEST_URI'];
    		}
    		else {
    			if (isset($_SERVER['argv'])) {
    				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['argv'][0];
    			}
    			elseif (isset($_SERVER['QUERY_STRING'])) {
    				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['QUERY_STRING'];
    			}
    			else {
    				$uri = $_SERVER['SCRIPT_NAME'];
    			}
    		}
    		// Prevent multiple slashes to avoid cross site requests via the FAPI.
    		$uri = trim($uri, '/');
    		$arr = explode('/', $uri);
    		$this->queryArr = array();
    		foreach($arr as $val) {
    			$val = trim($val);
    			if($val != '') $this->queryArr[] = $val;
    		}
    
    		return $uri;
    	}

    Такая вот реализация разбора "красивого" uri

    rudolff, 07 Августа 2010

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    $result = mysql_query("SELECT ..., CURRENT_DATE() as date, ...");
    $row = mysql_fetch_assoc($result);
    while ($row = mysql_fetch_assoc($result)) {
    // Еще вывод данных
    echo 'Дата: '. $row['date'];
    // Еще вывод данных
    }

    Заказчик долго удивлялся, почему дата странная выводится. И только потом, когда меня попросили посмотреть..

    neadekvat, 07 Августа 2010

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

    +117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $_POST['tovar_1'] =  substr(htmlspecialchars(trim($_POST['tovar_1'])), 0, 50); 
    $_POST['tovar_2'] =  substr(htmlspecialchars(trim($_POST['tovar_2'])), 0, 50); 
    $_POST['tovar_3'] =  substr(htmlspecialchars(trim($_POST['tovar_3'])), 0, 50); 
    $_POST['tovar_4'] =  substr(htmlspecialchars(trim($_POST['tovar_4'])), 0, 50); 
    $_POST['tovar_5'] =  substr(htmlspecialchars(trim($_POST['tovar_5'])), 0, 50); 
    $_POST['someone'] =  substr(htmlspecialchars(trim($_POST['someone'])), 0, 10000); 
    $_POST['secondname'] =  substr(htmlspecialchars(trim($_POST['secondname'])), 0, 1000); 
    $_POST['name'] =  substr(htmlspecialchars(trim($_POST['name'])), 0, 50); 
    $_POST['po_pabatk'] =  substr(htmlspecialchars(trim($_POST['po_pabatk'])), 0, 50); 
    $_POST['poste'] =  substr(htmlspecialchars(trim($_POST['poste'])), 0, 40); 
    $_POST['phone'] =  substr(htmlspecialchars(trim($_POST['phone'])), 0, 50); 
    $_POST['e_mail'] =  substr(htmlspecialchars(trim($_POST['e_mail'])), 0, 30);

    Vasiliy, 06 Августа 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (isset($_GET['worker_submit'])){
      $_POST['worker_submit']='true';
    }
    
    // ..... (строк 300 кода)
    
    if (isset($_POST['worker_submit'])){
      // ..... пошли-поехали
    }

    автор не знал ни про глобальный массив $_REQUEST ни про логический тип данных. Зато работает.

    safron, 06 Августа 2010

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

    +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
    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
    class recordset {
    /*используется для оптимизации работы с MySQL*/
    var $res;
    function recordset($sql,$link="") {
    if ($link!="")
    	{
        $this->res=mysql_query($sql,$link);
        if (!$this->res)
        	{
            echo $sql;
    		echo mysql_error($link);
    		}
        }
    else
    	{
        $this->res=mysql_query($sql);
        if (!$this->res)
        	{
            echo $sql;
    		echo mysql_error();
    		}
        }
    }
    
    function gr() {
    $row=mysql_fetch_row($this->res);
    if ($row) {for ($i=0;$i<count($row);$i++) $row[$i]=convert_cyr_string($row[$i],"k","w");}
    return $row; }
    
    function ga() {
    $row=mysql_fetch_array($this->res);
    if ($row) {foreach($row as $key=>$val) $row[$key]=convert_cyr_string($val,"k","w");}
    return $row; }
    
    function nr() {
    $num=mysql_num_rows($this->res);
    return $num; }}

    еще один перл того же автора, что и в 2х предыдущих опубликованных мной говнокодах.
    На этот раз старорежимный ООП - великолепный класс.

    Mihard, 06 Августа 2010

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $this->load->model('Bimail');
    			$this->Bimail->beautymail(
    					$this->adminmail,
    					$this->input->post('mail'),
    					$$this->adminsubject,
    					$this->input->post('name'),
    					$this->input->post('text'));
    			$this->redirect('conn/ok');

    Как видите я написал два знака доллара на 5 строке. При таком вызове фукции у мея виснет httpd.exe (это Apach). Кто может объяснить почему?
    И еще: почему РНР не выдает ошибки?
    *Провернуть такую ошибку в простом коде не получилось.

    increazon, 05 Августа 2010

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

    +151

    1. 1
    2. 2
    3. 3
    public function GetCurrentCultureID(){
    		return 1;
    	}

    ой как лень дописывать поддержку мультиязычность в устаревшие модули....

    nur, 04 Августа 2010

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $module=(!empty($_GET['mod']))?$_GET['mod']:"static";
    
    if(is_file("modules/".$module.".class.php"))
    {
        include_once("modules/".$module.".class.php");
    }
    else
    {
        include_once("modules/error.class.php");
    }

    от такая хитрожопая система, позволяющая подгружать "модули"

    zloiia, 04 Августа 2010

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $s = "insert content (name,description,type,ltype,contract_id) values ('".addslashes($title[$key])."','".addslashes($description)."','".addslashes($type[$key])."','".addslashes($ltype[$key])."','".addslashes($contracts[$key])."')";
    $result = mysql_query($s);
    $s2 = "select id from content where ((name='".addslashes($title[$key])."')and(description='".addslashes($description)."')) order by id desc limit 1";
    //echo $s2;
    $result2 = mysql_query($s2);
    $id = mysql_result($result2, 0, "id"); // вот id вставленного контента

    (facepalm) получение last_insert_id =)

    особо порадовало "order by id desc limit 1", учитывая что в таблице `content` поле `name` UNIQUE

    qbbr, 03 Августа 2010

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

    +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
    if ($_FILES['file1']['tmp_name'])
    	{
    		if($_FILES['file1']['type'] == 'image/gif' or $_FILES['file1']['type'] == 'image/jpeg' or $_FILES['file1']['type'] == 'image/pjpeg' or	$_FILES['file1']['type'] == 'image/png')
    		{
    			if(move_uploaded_file($_FILES['file1']['tmp_name'], $upload_foto_new))
    			{
    				print 1;//good
    			}
    			else
    			{
    				print 2;//bad
    			}
    
    		}
    			else
    				print 3;//wrong format
    	}

    загрузка картинки

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

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