流程控制问题,搞的纠结了,望大家指点 本帖最后由 aoecal 于 2012-08-04 17:59:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你看顶上的对象$tb实现的类你总能找到吧,就是顶上有个包含的php文件(极有可能带class或tb字样)打开这个php里面是个class找到 makeinput这个方法,这就是生成提交按纽的方法makeinput('','提交','','submit')你把这三参数往里放看看,看是否里面有onclick等js函数调用再顺根找,对于提交按纽点击后操作全在这里 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; } 楼主是想在$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变量赋值吧,你该知道下一步的操作了.呵呵 不好意思,csdn论坛的ubb区分大小写.嘿嘿建议楼主使用 mysql_fetch_object()来获取查询值具体用法可以看看手册 关于流程控制,建议你在<?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吧,其他的貌似没什么了. 页面有用jquery没有,jquery也是js與css分開的,單從html css也看不出來,源碼搜下jquery 感谢4楼大哥, 我已经搞定了,嘿嘿,分是你的, 另外, if判断我也弄错了, 现在改成了 if ($state == 1) 这样,谢谢您 php jquery FF正常 IE直接卡死 php处理图片问题 PHP图像输出之UTF-8前缀的问题(高分在线结帖) javascript检验完表单数据后如何传递给php? php版本问题,急求各位帮忙 谁知道textdb在哪里能下到啊??? linux下gd安装求助 不知道为什么我的php,明明是按说明配置的可是却出现问题 我在WIN2000的机子上装了IIS4。0,局域网内能访问该机子上的HTML网页,但是不能访问ASP,为什么,谁能告诉我怎么架设一个ASP加SQL的局域网。 关于一个编程的小问题,求高手赐教 处理excel表格数据,把同一个物料统计出来
打开这个php里面是个class
找到 makeinput这个方法,这就是生成提交按纽的方法
makeinput('','提交','','submit')你把这三参数往里放看看,
看是否里面有onclick等js函数调用
再顺根找,对于提交按纽点击后操作全在这里
能否给个例子呢? 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;
}
$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变量赋值吧,你该知道下一步的操作了.呵呵
建议楼主使用 mysql_fetch_object()来获取查询值
具体用法可以看看手册
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吧,其他的貌似没什么了.