Помогите пожалуйста разобраться с кодом

Тема в разделе "PHP", создана пользователем diegos, 26 окт 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. diegos

    diegos Постоялец

    Регистр.:
    5 дек 2008
    Сообщения:
    58
    Симпатии:
    10
    Есть такой код после дезендера

    PHP:
    <?php
    ini_set
    ('display_errors',1);
    include( 
    "config.php" );
    include( 
    "common.php" );
    if ( isset( 
    $_GET['cur'] ) )
    {
        
    $cur intval$_GET['cur'] );
    }
    if ( isset( 
    $_REQUEST['search'] ) )
    {
        
    $search $_REQUEST['search'];
    }
    if ( isset( 
    $_REQUEST['age_min'] ) )
    {
        
    $age_min intval$_REQUEST['age_min'] );
    }
    if ( isset( 
    $_REQUEST['age_max'] ) )
    {
        
    $age_max intval$_REQUEST['age_max'] );
    }
    if ( isset( 
    $_REQUEST['height_min'] ) )
    {
        
    $height_min intval$_REQUEST['height_min'] );
    }
    if ( isset( 
    $_REQUEST['height_max'] ) )
    {
        
    $height_max intval$_REQUEST['height_max'] );
    }
    if ( isset( 
    $_REQUEST['weight_min'] ) )
    {
        
    $weight_min intval$_REQUEST['weight_min'] );
    }
    if ( isset( 
    $_REQUEST['weight_max'] ) )
    {
        
    $weight_max intval$_REQUEST['weight_max'] );
    }
    if ( isset( 
    $_REQUEST['gender'] ) )
    {
        
    $gender intval$_REQUEST['gender'] );
    }
    if ( isset( 
    $_POST['country'] ) )
    {
        
    $country intval$_POST['country'] );
    }
    if ( isset( 
    $_POST['region'] ) )
    {
        
    $region intval$_POST['region'] );
    }
    if ( isset( 
    $_POST['city'] ) )
    {
        
    $city intval$_POST['city'] );
    }
    $ages range1885 );
    $heights range130220 );
    $weights range40150 );
    $strSQL "SELECT DISTINCT id, name FROM COUNTRY_SPR GROUP BY id ORDER BY name ";
    $rs $dbconn->execute$strSQL );
    $i 0;
    $spr_arr = array( );
    while ( !
    $rs->EOF )
    {
        
    $row $rs->getrowassocfalse );
        
    $spr_arr[$i]['id'] = $row['id'];
        
    $spr_arr[$i]['name'] = stripslashes$row['name'] );
        
    $rs->movenext( );
        
    $i++;
    }
    $smarty->assign"countries"$spr_arr );
    if ( isset( 
    $cur ) )
    {
        if ( isset( 
    $_SESSION['Search']['search'] ) )
        {
            
    $search $_SESSION['Search']['search'];
        }
        if ( isset( 
    $_SESSION['Search']['age_min'] ) )
        {
            
    $age_min $_SESSION['Search']['age_min'];
        }
        if ( isset( 
    $_SESSION['Search']['age_max'] ) )
        {
            
    $age_max $_SESSION['Search']['age_max'];
        }
        if ( isset( 
    $_SESSION['Search']['height_min'] ) )
        {
            
    $height_min $_SESSION['Search']['height_min'];
        }
        if ( isset( 
    $_SESSION['Search']['height_max'] ) )
        {
            
    $height_max $_SESSION['Search']['height_max'];
        }
        if ( isset( 
    $_SESSION['Search']['weight_min'] ) )
        {
            
    $weight_min $_SESSION['Search']['weight_min'];
        }
        if ( isset( 
    $_SESSION['Search']['weight_max'] ) )
        {
            
    $weight_max $_SESSION['Search']['weight_max'];
        }
        if ( isset( 
    $_SESSION['Search']['country'] ) )
        {
            
    $country $_SESSION['Search']['country'];
        }
        if ( isset( 
    $_SESSION['Search']['region'] ) )
        {
            
    $region $_SESSION['Search']['region'];
        }
        if ( isset( 
    $_SESSION['Search']['city'] ) )
        {
            
    $city $_SESSION['Search']['city'];
        }
        if ( isset( 
    $_SESSION['Search']['gender'] ) )
        {
            
    $gender $_SESSION['Search']['gender'];
        }
    }
    if ( !isset( 
    $cur ) )
    {
        
    $cur 1;
    }
    $result false;
    $errors = array( );
    if ( array( ) )
    {
        if ( isset( 
    $search$age_min ) && $age_min && isset( $age_max ) && $age_max && $age_max $age_min )
        {
            
    $errors[] = $lang['error']['age_error'];
        }
        if ( isset( 
    $height_min ) && $height_min && isset( $height_max ) && $height_max && $height_max $height_min )
        {
            
    $errors[] = $lang['error']['height_error'];
        }
        if ( isset( 
    $weight_min ) && $weight_min && isset( $weight_max ) && $weight_max && $weight_max $weight_min )
        {
            
    $errors[] = $lang['error']['weight_error'];
        }
        if ( 
    count$errors ) == )
        {
            
    $result true;
            
    $_SESSION['Search'] = array( );
            if ( isset( 
    $search ) )
            {
                
    $_SESSION['Search']['search'] = $search;
            }
            if ( isset( 
    $age_min ) )
            {
                
    $_SESSION['Search']['age_min'] = $age_min;
            }
            if ( isset( 
    $age_max ) )
            {
                
    $_SESSION['Search']['age_max'] = $age_max;
            }
            if ( isset( 
    $height_min ) )
            {
                
    $_SESSION['Search']['height_min'] = $height_min;
            }
            if ( isset( 
    $height_max ) )
            {
                
    $_SESSION['Search']['height_max'] = $height_max;
            }
            if ( isset( 
    $weight_min ) )
            {
                
    $_SESSION['Search']['weight_min'] = $weight_min;
            }
            if ( isset( 
    $weight_max ) )
            {
                
    $_SESSION['Search']['weight_max'] = $weight_max;
            }
            if ( isset( 
    $country ) )
            {
                
    $_SESSION['Search']['country'] = $country;
            }
            if ( isset( 
    $region ) )
            {
                
    $_SESSION['Search']['region'] = $region;
            }
            if ( isset( 
    $city ) )
            {
                
    $_SESSION['Search']['city'] = $city;
            }
            if ( isset( 
    $gender ) )
            {
                
    $_SESSION['Search']['gender'] = $gender;
            }
            
    $sql_query "";
            if ( isset( 
    $age_min ) && $age_min )
            {
                
    $sql_query .= " AND (b_date='0000-00-00' OR (FLOOR((TO_DAYS(CURRENT_DATE()) - TO_DAYS(b_date))/365.25)) >=".$age_min.") ";
            }
            if ( isset( 
    $age_max ) && $age_max )
            {
                
    $sql_query .= " AND (b_date='0000-00-00' OR (FLOOR((TO_DAYS(CURRENT_DATE()) - TO_DAYS(b_date))/365.25)) <=".$age_max.") ";
            }
            if ( isset( 
    $height_min ) && $height_min )
            {
                
    $sql_query .= " AND height>=".$height_min;
            }
            if ( isset( 
    $height_max ) && $height_max )
            {
                
    $sql_query .= " AND height<=".$height_max;
            }
            if ( isset( 
    $weight_min ) && $weight_min )
            {
                
    $sql_query .= " AND weight>=".$weight_min;
            }
            if ( isset( 
    $weight_max ) && $weight_max )
            {
                
    $sql_query .= " AND weight<=".$weight_max;
            }
            if ( isset( 
    $country ) && $country != "" && $country != "0" )
            {
                
    $sql_query .= " AND CountryID=".$country;
            }
            if ( isset( 
    $region ) && $region != "" && $region != "0" )
            {
                
    $sql_query .= " AND RegionID=".$region;
            }
            if ( isset( 
    $city ) && $city != "" && $city != "0" )
            {
                
    $sql_query .= " AND CityID=".$city;
            }
            
    $col 10;
            
    $strSQL "\tSELECT id\r\n            \t \tFROM USERS WHERE visible='1' AND gender='".$gender."' ".$sql_query." ORDER BY id DESC ";
            
    $rs $dbconn->execute$strSQL );
            
    $col_str ceil$rs->recordcount( ) / $col );
            if ( 
    $col_str == )
            {
                
    $col_str 0;
            }
            if ( 
    $cur )
            {
                
    $pages_links "<a href=\"search.php?cur=".( $cur )."\"><< Previous</a>";
            }
            else
            {
                
    $pages_links "";
            }
            
    $pages_links .= "&nbsp;&nbsp;&nbsp;";
            if ( 
    $cur $col_str )
            {
                
    $pages_links .= "<a href=\"search.php?cur=".( $cur )."\">Next >></a>";
            }
            else
            {
                
    $pages_links .= "";
            }
            
    $smarty->assign"pages_links"$pages_links );
            switch ( 
    $gender )
            {
            case 
    :
                
    $folder "men";
                break;
            case 
    :
                
    $folder "ladies";
            }
            
    $rs $dbconn->execute"SELECT id, FirstName, LastName, height, weight, b_date\r\n\t\t\t\t            \tFROM USERS WHERE visible='1' AND gender='".$gender."' ".$sql_query."\r\n\t\t\t\t            \tORDER BY id DESC LIMIT ".( $cur ) * $col.",".$col );
            
    $num 0;
            
    $ladies = array( );
            while ( !
    $rs->EOF )
            {
                
    $row $rs->getrowassocfalse );
                
    $rs_im $dbconn->execute"SELECT id, photo FROM USER_PHOTOS WHERE id_user=".$row['id']." ORDER BY id" );
                
    $row_im $rs_im->getrowassocfalse );
                if ( isset( 
    $row_im['photo'] ) && $row_im['photo'] != "" )
                {
                    
    $users[$num]['Image'] = dellastslash$config['server'] )."/".trimslash$config['site_root'] )."/image/".$folder."/thumb_".stripslashes$row_im['photo'] );
                }
                else
                {
                    
    $users[$num]['Image'] = "";
                }
                
    $users[$num]['id'] = $row['id'];
                
    $users[$num]['FirstName'] = stripslashes$row['FirstName'] );
                
    $users[$num]['LastName'] = stripslashes$row['LastName'] );
                
    $users[$num]['Height'] = $row['height'] != "" && $row['height'] != "0" $row['height'] : $lang['profile']['not_filled'];
                
    $users[$num]['Weight'] = $row['weight'] != "" && $row['weight'] != "0" $row['weight'] : $lang['profile']['not_filled'];
                if ( 
    $row['b_date'] != "0000-00-00" )
                {
                    
    $users[$num]['Age'] = agefrombdate$row['b_date'] );
                }
                else
                {
                    
    $users[$num]['Age'] = $lang['profile']['not_filled'];
                }
                
    $users[$num]['BtnCont'] = false;
                
    $users[$num]['BtnMail'] = false;
                if ( isset( 
    $_SESSION['ManID'] ) )
                {
                    
    $rs_cont $dbconn->execute"SELECT LadyID FROM MEN_CONTACTS WHERE LadyID=".$row['id']." AND ManID=".$_SESSION['ManID'] );
                    if ( 
    $rs_cont->recordcount( ) )
                    {
                        
    $users[$num]['BtnMail'] = true;
                    }
                    else
                    {
                        
    $users[$num]['BtnCont'] = true;
                    }
                }
                
    $num++;
                
    $rs->movenext( );
            }
            if ( isset( 
    $users ) )
            {
                
    $smarty->assign"users"$users );
            }
        }
    }
    else
    {
        
    $age_min $age_max $height_min $height_max $weight_min $weight_max $country $city 0;
    }
    if ( isset( 
    $age_min ) )
    {
        
    $smarty->assign"age_min"$age_min );
    }
    if ( isset( 
    $age_max ) )
    {
        
    $smarty->assign"age_max"$age_max );
    }
    if ( isset( 
    $height_min ) )
    {
        
    $smarty->assign"height_min"$height_min );
    }
    if ( isset( 
    $height_max ) )
    {
        
    $smarty->assign"height_max"$height_max );
    }
    if ( isset( 
    $weight_min ) )
    {
        
    $smarty->assign"weight_min"$weight_min );
    }
    if ( isset( 
    $weight_max ) )
    {
        
    $smarty->assign"weight_max"$weight_max );
    }
    if ( isset( 
    $country ) )
    {
        
    $smarty->assign"country"$country );
    }
    if ( isset( 
    $city ) )
    {
        
    $smarty->assign"city"$city );
    }
    if ( isset( 
    $_SESSION['ErrorsSearch'] ) )
    {
        
    $smarty->assign"errors_search"$_SESSION['ErrorsSearch'] );
    }
    $smarty->assign"ages"$ages );
    $smarty->assign"heights"$heights );
    $smarty->assign"weights"$weights );
    if ( isset( 
    $gender ) )
    {
        
    $smarty->assign"gender"$gender );
    }
    $smarty->assign"errors"$errors );
    $smarty->assign"result"$result );
    $smarty->display"search.tpl" );
    ?>
    Это файл search.php

    Помгите пожалуйста разобраться какие в этом коде есть явные ошибки? Так как не работает поиск...файл выполняется без ошибок но сам поиск не работает. когда заменяю зашифрованным файлом, то работает. Одним словом в этом коде есть ошибки. ПОМОГИТЕ НАЙТИ ПОЖАЛЙСТА! Кто знает хорошо PHP, думаю Вы сразу заметите!

    Заранее благодарю!
     
  2. promokiev

    promokiev Создатель

    Регистр.:
    7 окт 2010
    Сообщения:
    16
    Симпатии:
    2
    Выведите на экран все sql запросы ($strSQL) и запостите на форум
     
  3. sartiii

    sartiii Постоялец

    Регистр.:
    17 сен 2008
    Сообщения:
    105
    Симпатии:
    17
    А что за скрипт в оригинале? Как называется?
     
  4. diegos

    diegos Постоялец

    Регистр.:
    5 дек 2008
    Сообщения:
    58
    Симпатии:
    10
    А как выводятся sql запросы на экран? Подскажите пожалуйста!

    P.S. Сам поиск - очень простенький. Там несколько критериев всего:

    Найти: мужчин/женщин
    Возраст: мин/макс
    Рост: мин/макс
    Вес: мин/макс
    Страна: выбор
    Регион: выбор
    Город: выбор

    Это простенький скрипт сайта знакомств.

    Добавлено через 20 минут
    насколько я сталкивался с редактированием кода после дезендера, то вообщем то ошибки в основном очень простые, типо: объединение двух строк в одну с использованием &&, или скобки где то не проставились... А вообщем сам код дезендер декодирует отлично, почти один в один, я думаю ошибка есть только явная, т.е. отклонение от правил построения кода или в такой комбинации, которая не используется для написания кода. Но это может только заметить программист, который пишет PHP.
     
  5. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    ну, ошибки после дезенда могут быть и не такими простыми- может потеряться логика скрипта и ппц.
    В данном случае-
    PHP:
    $result false
    $errors = array( ); 
    if ( array( ) )
    ошибка тут- в условии, ибо всегда будет лож. Что туда ставить-
    возможно верно
    PHP:
    if ($gender) {
    если не указан пол (он без всяких условий вставляется в условие поиска), либо что-то другое там должно стаять. В любом случае если условие неверно- поиск не будет работать.
     
    diegos нравится это.
Статус темы:
Закрыта.