Maison  >  Article  >  développement back-end  >  这段代码中echo怎么不执行呢,高手给支个招

这段代码中echo怎么不执行呢,高手给支个招

WBOY
WBOYoriginal
2016-06-23 13:54:311207parcourir

public function add(){		$this->lottory_record_db=M('Lottery_record');		$this->lottory_db=M('Lottery');		 if($_POST['action'] ==  'add' ){			$lid 				= $this->_post('lid');			$wechaid 			= $this->_post('wechaid');			//$data['sn']			= $this->_post('sncode');			$data['phone'] 		= $this->_post('tel');			//$data['prize']		= $this->_post('winprize');			$data['wecha_name'] = $this->_post('wxname');			//$data['time']		= time(); 			//$data['islottery']	= 1;			//$data['usenums']	= 1;						$rid=intval($this->_post('rid'));			if (!$rid){				$thisRecord=$this->lottory_record_db->where(array('lid'=>$lid,'wecha_id'=>$wechaid,'islottery'=>1))->find();				$rid=$thisRecord['id'];			}			$rollback = $this->lottory_record_db->where(array('lid'=>$lid,'wecha_id'=>$wechaid,'id'=>$rid))->save($data);			$record=$this->lottory_record_db->where(array('id'=>$rid))->find();			echo'{"success":1,"msg":"恭喜!尊敬的<font color=red>'.$data['wecha_name'].'</font>请您保持手机通畅!你的领奖序号:<font color=red>'.$record['sn'].'</font>"}';			exit;			}	}


回复讨论(解决方案)

if($_POST['action'] ==  'add' ){
条件 $_POST['action'] ==  'add' 不成立,所以 echo 不执行

var_dump($_POST['action']);//输出看看值是什么?确定条件成立?

var_dump($_POST['action']);

条件是成立的,$rollback = $this->lottory_record_db->where(array('lid'=>$lid,'wecha_id'=>$wechaid,'id'=>$rid))->save($data);这句代码也是执行了的,数据库中有数据

那你输出的只是一个 json 串,需要 js 代码去解析呀

是js代码解晰的问题?
下面这段代码在同一页面,却又能弹出提示
public function exchange(){
$this->lottory_record_db=M('Lottery_record');
$this->lottory_db=M('Lottery');
$this->lottory_pw_db=M('Lottery_pw');
 if(IS_POST){
  $Lottery_pw = $this->lottory_pw_db->where(array('dpassword'=>trim($_POST['parssword'])))->find();
       
  if ($Lottery_pw['dpassword'] != trim($this->_post('parssword'))){
  echo'{"success":0,"msg":"密码不正确"}';exit;
  }else {
  $data['sendtime'] = time(); 
  $data['sendstutas'] = 1;
                $data['dname'] = $Lottery_pw['dname'];
                $data['dpassword'] = $Lottery_pw['dpassword'];
  $this->lottory_record_db->where(array('id'=> intval($_POST['rid'])))->save($data);
  echo'{"success":1,"msg":"领取成功","changed":1}';
  }
}
}

是js代码解晰的问题?
下面这段代码在同一页面,却又能弹出提示
public function exchange(){
$this->lottory_record_db=M('Lottery_record');
$this->lottory_db=M('Lottery');
$this->lottory_pw_db=M('Lottery_pw');
 if(IS_POST){
  $Lottery_pw = $this->lottory_pw_db->where(array('dpassword'=>trim($_POST['parssword'])))->find();
       
  if ($Lottery_pw['dpassword'] != trim($this->_post('parssword'))){
  echo'{"success":0,"msg":"密码不正确"}';exit;
  }else {
  $data['sendtime'] = time(); 
  $data['sendstutas'] = 1;
                $data['dname'] = $Lottery_pw['dname'];
                $data['dpassword'] = $Lottery_pw['dpassword'];
  $this->lottory_record_db->where(array('id'=> intval($_POST['rid'])))->save($data);
  echo'{"success":1,"msg":"领取成功","changed":1}';
  }
}
}


js代码帖出来吧

document.writeln("

function alert(title)

你在那里调用的?

$("#save-btn").bind("click",
function() {
var btn  = $(this);
var tel  = $("#tel").val();

var wechaid = $("#wechaid").val();
var winprize  = $("#winprize").val();
var sncode  = $("#sncode").val();
var lid  = $("#lid").val();
//var RegPhone = /^([0-9]{11})?$/;
//var falg;
//falg = tel.value.search(RegPhone);
if (!tel) {
alert("请输入正确{pigcms:$lottery.renametel}");
return
}


var submitData = {
sncode  : sncode,
tel  : tel,

wechaid : wechaid,
winprize:winprize,
rid: {pigcms:$Coupon.rid},
lid  : lid,
action  : "add"
};
$.post('index.php?g=Wap&m=Coupon&a=add', submitData,
function(data) {
if (data.success == true) {
alert(data.msg);
window.location.href=location.href;
//$("#zjl").hide("slow");
return
} else { 
//alert('失败'+data);
return
}
},"json")
});

$("#save-btnn").bind("click",
function () {
var submitData = {
id: {pigcms:$lottery.id},
rid: {pigcms:$Coupon.rid},
parssword: $("#parssword").val()
};
$.post('index.php?g=Wap&m=Coupon&a=exchange', submitData,
function (data) {
if (data.success == true) {
alert(data.msg);
if (data.changed == true) {
window.location.href = location.href;
}
return
} else {alert(data.msg);}
},
"json")
});

有报错误么。

$record=$this->lottory_record_db->where(array('id'=>$rid))->find();   看看这条语句有没有出错呢。

没有哦,这条语句支掉,再把下面改成如下,还是弹不出来

echo'{"success":1,"msg":"恭喜"}';
            exit;    
        }

if ($Lottery_pw['dpassword'] != trim($this->_post('parssword'))){
   echo'{"success":0,"msg":"密码不正确"}';exit;
   }else {
   $data['sendtime'] = time(); 
   $data['sendstutas'] = 1;
                 $data['dname'] = $Lottery_pw['dname'];
                 $data['dpassword'] = $Lottery_pw['dpassword'];
   $this->lottory_record_db->where(array('id'=> intval($_POST['rid'])))->save($data);
   echo'{"success":1,"msg":"领取成功","changed":1}';
   }
 }
 }

昨晚又测试,发现密码错误的时候会提示,输入正确的时候不提示

如果你确认有进入,那说明上面有代码发生致命错误,停止了。放出错误信息看看。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn