佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1111|回复: 15

请帮我鉴定下php的错误

[复制链接]
发表于 3-3-2008 07:06 PM | 显示全部楼层 |阅读模式
这是我从zend encrypted的脚本decrypt出来的...
  1. <?php
  2. /*********************/
  3. /*                   */
  4. /*  Version : 5.1.0  */
  5. /*  Author  : RM     */
  6. /*  Comment : 071223 */
  7. /*                   */
  8. /*********************/
  9. if ( !defined( "STOCK_INDEX" ) )
  10. {
  11.     exit( "Access Denied" );
  12. }
  13. if ( !$discuz_user || $Gupiao_Setting[13] == 0 )
  14. {
  15.     showmessage( "not_loggedin" );
  16. }
  17. $desc = $_GET[desc];
  18. $order = $_GET[order];
  19. $stocksort = $_GET[stocksort];
  20. if ( $desc == 1 )
  21. {
  22.     $ddsc = "";
  23.     $aasc = " desc";
  24. }
  25. else
  26. {
  27.     $ddsc = " desc";
  28.     $aasc = "";
  29. }
  30. if ( $stocksort )
  31. {
  32.     $stockcn = $_GET[stockcn];
  33. }
  34. else
  35. {
  36.     $stockcn = trim( str_replace( "'", "", $_POST[stockcn] ) );
  37. }
  38. $stockcn = str_replace( " ", "", $stockcn );
  39. if ( $stockcn )
  40. {
  41.     switch ( $stockcn )
  42.     {
  43.     case "shA" :
  44.         $stockcn1 = "stockcode like '60%'";
  45.         break;
  46.     case "szA" :
  47.         $stockcn1 = "stockcode like '000%'";
  48.         break;
  49.     case "msqy" :
  50.         $stockcn1 = "stockcode like '002%'";
  51.         break;
  52.     case "qz" :
  53.         $stockcn1 = "stockcode like '03%' or stockcode like '58%'";
  54.         break;
  55.     case "custom" :
  56.         $stockcn1 = "work like '*%'";
  57.         break;
  58.     case "cxg" :
  59.         $stockcn1 = "datet>".$stocktime."-86400*30";
  60.         break;
  61.     case "xg" :
  62.         $stockcn1 = "datet>".$stocktime."-86400";
  63.         break;
  64.         $stockcn1 = "stockcode like '%".$stockcn."%' or work like '%{$stockcn}%'";
  65.     }
  66.     $db->query( "update ".$tablepre."client set cxkey="".$stockcn1.( "" where acc='".$discuz_user."'" ) );
  67. }
  68. if ( !$stockcn )
  69. {
  70.     do
  71.     {
  72.         if ( $order && $cxbj )
  73.         {
  74.         }
  75.     }
  76.     else
  77.     {
  78.         if ( !$cxbj )
  79.         {
  80.             $db->query( "update ".$tablepre.( "client set cxbj=1 where acc='".$discuz_user."'" ) );
  81.             $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by (nowmoney-openmoney)/openmoney {$ddsc},stockid {$aasc}" );
  82.             break;
  83.         }
  84.         else
  85.         {
  86.             if ( !$stockcn )
  87.             {
  88.                 $stockcn1 = $cxkey;
  89.             }
  90.             if ( $_GET[order] == "dm" )
  91.             {
  92.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by stockcode {$ddsc},stockid {$aasc}" );
  93.                 break;
  94.             }
  95.             else if ( $_GET[order] == "mch" )
  96.             {
  97.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by work {$ddsc},stockid {$aasc}" );
  98.                 break;
  99.             }
  100.             else if ( $_GET[order] == "jy" )
  101.             {
  102.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by usename {$ddsc},stockid {$aasc}" );
  103.                 break;
  104.             }
  105.             else if ( $_GET[order] == "sy" )
  106.             {
  107.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by leavenum {$ddsc},stockid {$aasc}" );
  108.                 break;
  109.             }
  110.             else if ( $_GET[order] == "sp" )
  111.             {
  112.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by openmoney {$ddsc},stockid {$aasc}" );
  113.                 break;
  114.             }
  115.             else if ( $_GET[order] == "xj" )
  116.             {
  117.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by nowmoney {$ddsc},stockid {$aasc}" );
  118.                 break;
  119.             }
  120.             else if ( $_GET[order] == "zg" )
  121.             {
  122.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by unum {$ddsc},stockid {$aasc}" );
  123.                 break;
  124.             }
  125.             else if ( $_GET[order] == "zd" )
  126.             {
  127.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by lnum {$ddsc},stockid {$aasc}" );
  128.                 break;
  129.             }
  130.             else if ( $_GET[order] == "zf" )
  131.             {
  132.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by (unum-lnum)/lnum {$ddsc},stockid {$aasc}" );
  133.                 break;
  134.             }
  135.             else if ( $_GET[order] == "mr" )
  136.             {
  137.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by buynum {$ddsc},stockid {$aasc}" );
  138.                 break;
  139.             }
  140.             else if ( $_GET[order] == "mc" )
  141.             {
  142.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by sellnum {$ddsc},stockid {$aasc}" );
  143.                 break;
  144.             }
  145.             else if ( $_GET[order] == "cjl" )
  146.             {
  147.                 $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by bargain {$ddsc},stockid {$aasc}" );
  148.                 break;
复制代码
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 3-3-2008 07:09 PM | 显示全部楼层
这只是一部分的脚本,因为论坛的字数限制...
当我放回进目录是,出现
  1. Parse error: syntax error, unexpected T_ELSE, expecting T_WHILE in /home/xxx/plugins/stock/main.php on line 77
复制代码
的错误...
请问有没有像vb酱的code analyzer来debug的??
回复

使用道具 举报

发表于 4-3-2008 08:32 AM | 显示全部楼层
你第77行的Else好像没有关“}”
回复

使用道具 举报

 楼主| 发表于 5-3-2008 12:47 AM | 显示全部楼层

你第77行的Else好像没有关“}”

谢谢你的回复哦...
请问应该怎样改呢??
回复

使用道具 举报

发表于 6-3-2008 06:11 PM | 显示全部楼层
那个就是你整个的coding了吗??
回复

使用道具 举报

 楼主| 发表于 7-3-2008 10:42 AM | 显示全部楼层
还不是,因为字数的限制,这只是一部分的code罢了
回复

使用道具 举报

Follow Us
发表于 8-3-2008 11:31 AM | 显示全部楼层
你把你的coding排好好的。。
然后看看那里没有关好??

你的这个do 是什么来的??
为什么后面跟着有else的存在??

do
    {
        if ( $order && $cxbj )
        {
        }
    }
    else
    {
回复

使用道具 举报

 楼主| 发表于 12-3-2008 07:20 PM | 显示全部楼层
我也不怎么很清楚,因为这是从zend那里解密过来的,解密翻译后,就是这样子了
回复

使用道具 举报


ADVERTISEMENT

发表于 13-3-2008 04:10 PM | 显示全部楼层
你的code都不完整要怎样看?
回复

使用道具 举报

 楼主| 发表于 14-3-2008 01:48 PM | 显示全部楼层
原帖由 路過人甲 于 13-3-2008 04:10 PM 发表
你的code都不完整要怎样看?

不是我想的,因为字数有限...
我另外上传进来!!

这里


[ 本帖最后由 苏俊杰 于 14-3-2008 02:01 PM 编辑 ]
回复

使用道具 举报

发表于 15-3-2008 10:43 AM | 显示全部楼层
你可以解释下。。。
我那个问题吗??
回复

使用道具 举报

发表于 15-3-2008 03:03 PM | 显示全部楼层
Do While 得正确写法是

Do {

} while (condition);

在第77行,DO过后就是‘;’了,然后直接ELSE,不对哦。。。。

if ( !$stockcn )
{
    do
    {
        if ( $order && $cxbj )
        {
        ;
        }
    };
    else
    {
回复

使用道具 举报

 楼主| 发表于 28-3-2008 09:47 AM | 显示全部楼层
那正確應該怎樣改呢?
回复

使用道具 举报

发表于 28-3-2008 03:24 PM | 显示全部楼层
可以试试改成:

if ( !$stockcn )
{
    do
    {
        if ( $order && $cxbj )
        {
               
        } else {
                        if ( !$cxbj )
                        {
                                //$db->query( "update ".$tablepre.( "client set cxbj=1 where acc='".$discuz_user."'" ) );
                                $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by (nowmoney-openmoney)/openmoney {$ddsc},stockid {$aasc}" );
                                break;
                        }
                        else
                        {
                                if ( !$stockcn )
                                {
                                        $stockcn1 = $cxkey;
                                }
                                if ( $_GET[order] == "dm" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by stockcode {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "mch" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by work {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "jy" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by usename {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "sy" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by leavenum {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "sp" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by openmoney {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "xj" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by nowmoney {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "zg" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by unum {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "zd" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by lnum {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "zf" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by (unum-lnum)/lnum {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "mr" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by buynum {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "mc" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by sellnum {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "cjl" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by bargain {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else if ( $_GET[order] == "zdf" )
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by (nowmoney-openmoney)/openmoney {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                                else
                                {
                                        $sql = "select * from ".$tablepre.( "stock where ".$stockcn1." order by (nowmoney-openmoney)/openmoney {$ddsc},stockid {$aasc}" );
                                        break;
                                }
                        }
                       
                        if ( $cxbj )
                        {
                                $db->query( "update ".$tablepre.( "client set cxbj=0 where acc='".$discuz_user."'" ) );
                        }
                        if ( $_GET[order] == "dm" )
                        {
                                $sql = "select * from ".$tablepre."stock order by stockcode ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "mch" )
                        {
                                $sql = "select * from ".$tablepre."stock order by work ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "jy" )
                        {
                                $sql = "select * from ".$tablepre."stock order by usename ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "sy" )
                        {
                                $sql = "select * from ".$tablepre."stock order by leavenum ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "sp" )
                        {
                                $sql = "select * from ".$tablepre."stock order by openmoney ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "xj" )
                        {
                                $sql = "select * from ".$tablepre."stock order by nowmoney ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "zg" )
                        {
                                $sql = "select * from ".$tablepre."stock order by unum ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "zd" )
                        {
                                $sql = "select * from ".$tablepre."stock order by lnum ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "zf" )
                        {
                                $sql = "select * from ".$tablepre."stock order by (unum-lnum)/lnum ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "mr" )
                        {
                                $sql = "select * from ".$tablepre."stock order by buynum ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "mc" )
                        {
                                $sql = "select * from ".$tablepre."stock order by sellnum ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "cjl" )
                        {
                                $sql = "select * from ".$tablepre."stock order by bargain ".$ddsc.",stockid ".$aasc;
                        }
                        else if ( $_GET[order] == "zdf" )
                        {
                                $sql = "select * from ".$tablepre."stock order by (nowmoney-openmoney)/openmoney ".$ddsc.",stockid ".$aasc;
                        }
                        else
                        {
                                $sql = "select *  from ".$tablepre."stock order by (nowmoney-openmoney)/openmoney ".$ddsc.",stockid ".$aasc;
                        }        
            }
        } while ( 0 );
}

至于改得对不对,就需要楼主test一test了。。。
回复

使用道具 举报

 楼主| 发表于 30-3-2008 01:43 AM | 显示全部楼层
首先很谢谢楼上的回复与帮助哦!!
我已经照你的编码改了...
不懂是不是其他的脚本还是属于加密版本而串连不到...
现在没有问题提示了,但却呈空白页给我哦...
回复

使用道具 举报

发表于 30-3-2008 04:18 PM | 显示全部楼层
其实我也不肯定改得对不对,但如果是呈空白那应该是syntax error了。

试试在最后一行加一个 echo "ABC" 看看ABC有出现没。如果没有那就是syntax error了。我也是这样从你的Code中慢慢找Error滴。
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 1-1-2026 05:25 AM , Processed in 0.134668 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表