新人报道,求解!代码卡这里了不知道该怎么搞了....

{{extend name='public/base'}}
{{block name='title'}}
    <title>甜心:用户注册</title>
{{/block}}
{{block name='css'}}
<style type="text/css">
	.error {
			color:red;
		}
</style>
{{/block}}
{{block name='left'}}
<div id="">
	
</div>
{{/block}}
{{block name='main'}}
<div class="col-md-8">
	<div class="col-md-3">
		<img class="img-circle" src="__STATIC__/images/4.jpg" width="150px"/>
		<img class="img-circle" src="__STATIC__/images/5.jpg" width="150px"/>
		<img class="img-circle" src="__STATIC__/images/6.jpg" width="150px"/>
		<img class="img-circle" src="__STATIC__/images/7.jpg" width="150px"/>
		<img class="img-circle" src="__STATIC__/images/11.jpg" width="150px"/>
	</div>
	<div class="col-md-9 table-bordered">
		<h1 class="text-info">用户注册</h1>
		<form method="post" class="form-horizontal">
		    <div class="form-group">
		      <div class="col-md-3 text-right">
		        <label class="control-label" for="username">用户名:</label>
		      </div>
		      <div class="col-md-9">
		        <input type="text" name="username" id="username" value="" class="form-control" placeholder="请呼入长度是2-100位的用户名">
		      </div>
		    </div>
		    <div class="form-group">
		      <div class="col-md-3 text-right">
		        <label class="control-label" for="password">密码:</label>
		      </div>
		      <div class="col-md-9">
		        <input type="password" name="password" id="password" value="" class="form-control" placeholder="请输入长度为6-12的密码,密码只能是数字和字母">
		      </div>
		    </div>
		    <div class="form-group">
		      <div class="col-md-3 text-right">
		        <label class="control-label" for="pwd">确认密码:</label>
		      </div>
		      <div class="col-md-9">
		        <input type="password" name="pwd" id="pwd" value="" class="form-control" placeholder="两次密码必须一致">
		      </div>
		    </div>
		    <div class="form-group">
		      <div class="col-md-3 text-right">
		        <label class="control-label" for="email">用户邮箱:</label>
		      </div>
		      <div class="col-md-9">
		        <input type="email" name="email" id="email" value="" class="form-control" placeholder="请输入合法的邮箱地址">
		      </div>
		    </div>
		    <div class="form-group">
		      <div class="col-md-3 text-right">
		        <label class="control-label" for="phone">联系电话:</label>
		      </div>
		      <div class="col-md-9">
		        <input type="text" name="phone" id="phone" value="" class="form-control" placeholder="请输入合法的联系电话">
		      </div>
		    </div>
		    <div class="form-group row">
					<div class="col-md-3 text-right">
						<label class="control-label" for="captcha">验证码:</label>
					</div>
					<div class="col-md-4">
						<input class='form-control' type="text" name="captcha" id="captcha" value="" required="required"/>
					</div>
					<div class="col-md-5">
						<img src="{{:captcha_src()}}" alt="captcha" id="cap" width="200px"/>
						<br />看不清点击换一张
					</div>
				</div>
		    <div class="form-group">
		      <div class="col-md-9  col-md-offset-3">
		        <input type="submit" value="提交" class="btn btn-primary" id="sub">
		        <input type="reset" value="取消" class="btn btn-default">
		      </div>
		    </div>
	  	</form>
	</div>
</div>
{{/block}}
{{block name='right'}}
{{include file='public/right'}}
{{/block}}
{{block name='js'}}
{{load file='__JS__/jquery.validate.js'}}
	<script type="text/javascript">
		$.validator.addMethod('isPhone',function(value){
			if (value != ""){
				var pt = /^0?1[345678]\d{1}-?\d{4}-?\d{4}$/;
				return pt.test(value);
			} else {
				return true;
			}
		},"手机号不合法");
		$.validator.addMethod('isEmail',function(value){
			if (value != ""){
				var pt = /^[\w\-\.]{3,}@[a-zA-Z\d\-]+(\.[a-zA-Z\d\-]+)?\.[a-zA-Z\d\-]{2,6}$/;
				return pt.test(value);
			} else {
				return true;
			}
		},"错误的邮箱地址!");
		$(function(){
			//验证码点击更新
			$('#cap').click(function(){
				$(this).attr('src',"{{:captcha_src()}}?rand="+Math.random());
			});
			//插件前端验证
			$('form').validate({
				rules:{
					username:{
						required:true,
						minlength:2,
						maxlength:100
					},
					password:{
						required:true,
						minlength:6,
						maxlength:16
					},
					pwd:{
						equalTo: '#password'
					},
					phone:{
						required:true,
						isPhone:true
					},
					email:{
						required:true,
						isEmail: true
					},
					captcha:{
						required:true,
					}
				},
				messages:{
					username:{
						required:'用户名不能为空',
						minlength:'用户名最短是2位',
						maxlength: '用户名最长是100位'
					},
					password:{
						required:'用户密码不能为空',
						minlength:'用户密码最短是6位',
						maxlength: '用户密码最长是16位'
					},
					pwd:{
						equalTo:'两次密码不一致'
					},
					phone:{
						required:'手机号不能为空',
					},
					email:{
						required:'邮箱不能为空',
					},
					captcha:{
						required:'请填写验证码',
					}
				}
			});
		//Ajax表单提交
			$('#sub').click(function(){
				$.ajax({
					type:"post",
					url:"{{:url('index/user/register')}}",
					data:$('form').serialize(),
					success:function(res){
						console.log(res);//就是这个地方怎么写,求解!
					}
					
				});
			});
		});
	</script>
{{/block}}

下面是对应的后端PHP代码!用的TP框架

	public function register(){
		if (request()->isGet()) {
			return $this->fetch();
		}elseif (request()->isPost()) {
			$data = request()->param();
//			echo "<pre>";
//			print_r($data);
//			exit;
			if(!captcha_check($data['captcha'])){
				return $this->error('验证码错误!');
			}
			$model = new UserModel;
			$res = $model->allowField(true)->validate(true)->save($data);
			if($res){
				return $this->success('恭喜注册成功,您可以去登录咯!',url('index/user/login'));
			}else{
				return $this->error($model->getError());
			}
		}
	}

再HTML页面部分里面,不写回调函数的内容,去掉form标签的post属性,整个后端的验证全部没有效果了,直接就存储数据了!加上Post属性,验证码验证就过不去,怎么写怎么错!这是什么道理?


那位大神能给推荐一些Ajax经典实例吗?我是一个小白,连入门都没又呢!不要看那些aabb啥的!基本没什么用,只能反应一些基本操作方式,对于应用没什么明说的例子,我脑子有点笨,对于计算机比较喜爱!

谢谢啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值