解决方案 »
- 在线等一个简单问题
- php远程连接mysql
- 推荐好书给我,我就给分
- 都有哪些原因会导致session丢失呢?
- 为什么我写入mysql的汉字一个字不是两个字节而是更多?怎么截取?
- 做个订餐系统,需要的工作量有多大?
- 求教,int型的数据,这样的问题该怎样解决?
- 大家帮忙看一下我的这个程序出错在哪里?
- Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in D:\Program Files\Apache Group\Apache2\ht
- php实现文章点击量,老是失败,求助
- 关于一个编程的小问题,求高手赐教
- 处理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吧,其他的貌似没什么了.