|
查看: 1110|回复: 15
|
请帮我鉴定下php的错误
[复制链接]
|
|
|
这是我从zend encrypted的脚本decrypt出来的...
- <?php
- /*********************/
- /* */
- /* Version : 5.1.0 */
- /* Author : RM */
- /* Comment : 071223 */
- /* */
- /*********************/
- if ( !defined( "STOCK_INDEX" ) )
- {
- exit( "Access Denied" );
- }
- if ( !$discuz_user || $Gupiao_Setting[13] == 0 )
- {
- showmessage( "not_loggedin" );
- }
- $desc = $_GET[desc];
- $order = $_GET[order];
- $stocksort = $_GET[stocksort];
- if ( $desc == 1 )
- {
- $ddsc = "";
- $aasc = " desc";
- }
- else
- {
- $ddsc = " desc";
- $aasc = "";
- }
- if ( $stocksort )
- {
- $stockcn = $_GET[stockcn];
- }
- else
- {
- $stockcn = trim( str_replace( "'", "", $_POST[stockcn] ) );
- }
- $stockcn = str_replace( " ", "", $stockcn );
- if ( $stockcn )
- {
- switch ( $stockcn )
- {
- case "shA" :
- $stockcn1 = "stockcode like '60%'";
- break;
- case "szA" :
- $stockcn1 = "stockcode like '000%'";
- break;
- case "msqy" :
- $stockcn1 = "stockcode like '002%'";
- break;
- case "qz" :
- $stockcn1 = "stockcode like '03%' or stockcode like '58%'";
- break;
- case "custom" :
- $stockcn1 = "work like '*%'";
- break;
- case "cxg" :
- $stockcn1 = "datet>".$stocktime."-86400*30";
- break;
- case "xg" :
- $stockcn1 = "datet>".$stocktime."-86400";
- break;
- $stockcn1 = "stockcode like '%".$stockcn."%' or work like '%{$stockcn}%'";
- }
- $db->query( "update ".$tablepre."client set cxkey="".$stockcn1.( "" where acc='".$discuz_user."'" ) );
- }
- 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;
复制代码 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 3-3-2008 07:09 PM
|
显示全部楼层
这只是一部分的脚本,因为论坛的字数限制...
当我放回进目录是,出现- 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
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

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

楼主 |
发表于 7-3-2008 10:42 AM
|
显示全部楼层
还不是,因为字数的限制,这只是一部分的code罢了 |
|
|
|
|
|
|
|
|
|
|
发表于 8-3-2008 11:31 AM
|
显示全部楼层
你把你的coding排好好的。。
然后看看那里没有关好??
你的这个do 是什么来的??
为什么后面跟着有else的存在??
do
{
if ( $order && $cxbj )
{
}
}
else
{ |
|
|
|
|
|
|
|
|
|
|

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

楼主 |
发表于 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滴。 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|