本帖最后由 aoecal 于 2012-08-04 17:59:47 编辑

解决方案 »

  1.   

    你看顶上的对象$tb实现的类你总能找到吧,就是顶上有个包含的php文件(极有可能带class或tb字样)
    打开这个php里面是个class
    找到 makeinput这个方法,这就是生成提交按纽的方法
    makeinput('','提交','','submit')你把这三参数往里放看看,
    看是否里面有onclick等js函数调用
    再顺根找,对于提交按纽点击后操作全在这里
      

  2.   

    makeinput方法如下,并没有涉及 onclick等,
    能否给个例子呢? function makeinput($name,$value='',$extra='',$type='text',$size='30',$css='input'){
    $css = ($css == 'input') ? " class=\"input\"" : "";
    $input = "<input name=\"$name\" value=\"$value\" type=\"$type\" ".$css." size=\"$size\" $extra>\n";
    return $input;
    }
      

  3.   

    楼主是想在$sql="select state from cardpass where cardid= '".$passnos."'";
                    $result = mysql_query($sql,$con);
                    //echo "这里是result变量".$result;
            }
                if((!empty($result)) || ($result = 0)){
                            $sqli="update cardpass set state = 1,postname='".$shopname."',posttime = '".date("Y-m-d H:i:s",time())."' where cardid = '".$passnos."'";
                            $run=mysql_query($sqli,$con);
                            $exp= "兑奖券号".$passnos."状态正常,本次已经使用";
                            mysql_close($con);
                        }else{
                            $exp="您输入的兑奖券号为:".$passnos."已经使用或不存在,请重新输入";
                            mysql_close($con);
                            }
    $tb->tdbody(' <tr class="secondalt"><td align="left"><br><ul><li>'.$exp.'</li></ul></td></tr>');
    这段查询之后,给出判断, 应该是state的值吧,也就是说,不为空,不为0,之后进入下一步操作
    但这样写有问题噢, $result = mysql_query($sql,$con);
    $result的变量值只是连接句柄而已,还需要你下一步操作
    给你个例子$result = mysql_query($sql,$con);
    while($row=mysql_fetch_object($result)){
         $state = $row->state;
    }
    echo $state."<br />";
    var_dump (is_null ($state));给你的$state变量赋值吧,你该知道下一步的操作了.呵呵
      

  4.   

    不好意思,csdn论坛的ubb区分大小写.嘿嘿
    建议楼主使用 mysql_fetch_object()来获取查询值
    具体用法可以看看手册
      

  5.   

    关于流程控制,建议你在<?php $tb->tdbody('请输入兑奖券验号: '.$tb->makeinput('code','','','text','100').' '.$tb->makeinput('','提交','','submit'),'center','1','40');
    echo "<input name='action' type='hidden' value='code'>";
    $tb->tdbody(' <tr class="secondalt"><td align="left"><br><ul><li>'.$exp.'</li></ul></td></tr>');
    ?>
    增加一句,也就是中间那行echo, 看到了吗? 在提交按钮后面你的逻辑结构基本没问题,在需要出现这个返回结果的地方,你这样写
    我是直接复制你帖子上的代码的,所以,请自己修改数据库读取部分操作代码
    if ($_POST['action'] == "code"){
        $passnos = htmlspecialchars(trim($_POST['code']));
            if (!(preg_match("/^\d*$/",$passnos))){
                $exp = "您输入的卡号有误,请重新输入";
                exit;
            }else{
                $con = mysql_connect("localhost", "user", "xxx");
                    if (!$con){
                            die('Could not connect: ' . mysql_error());
                            exit;
                        }
                $db_selected = mysql_select_db("idcard", $con);
                    if (!$db_selected){
                            die ("Can\'t use idcard : " . mysql_error());
                            exit;
                        }
                    $sql="select state from cardpass where cardid= '".$passnos."'";
                    $result = mysql_query($sql,$con);
                    //echo "这里是result变量".$result;
            }
                if((!empty($result)) || ($result = 0)){
                            $sqli="update cardpass set state = 1,postname='".$shopname."',posttime = '".date("Y-m-d H:i:s",time())."' where cardid = '".$passnos."'";
                            $run=mysql_query($sqli,$con);
                            $exp= "兑奖券号".$passnos."状态正常,本次已经使用";
                            mysql_close($con);
                        }else{
                            $exp="您输入的兑奖券号为:".$passnos."已经使用或不存在,请重新输入";
                            mysql_close($con);
                            }
    }
    这样,就可以了, 首次访问时就不会执行php代码了,在你post数据的时候,也就是post这个"code"的时候,执行这段php,
    另外,你里面的$exp可以改成echo吧,其他的貌似没什么了.
      

  6.   

    页面有用jquery没有,jquery也是js與css分開的,單從html css也看不出來,源碼搜下jquery
      

  7.   

    感谢4楼大哥, 我已经搞定了,嘿嘿,分是你的, 另外, if判断我也弄错了, 现在改成了 if ($state == 1) 这样,谢谢您