thinkphp专题提供thinkphp的最新资讯内容,帮你更好的了解thinkphp。
http://www.onedayoneclass.com/index.php/Home/Index/getopenId.html改为:http://www.onedayoneclass.com/Home/Index/getopenId.htmlhtaccess文件必须放到跟目录下这个文件里面加:<IfModule mod_rewrite.c>Options +FollowSymlinksRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>
thinkphp自带验证码前端页面:<div style="position:absolute;z-index:3;top:160px;left:180px;"><img style="cursor:pointer; " src="{:U('Verify')}" onclick="this.src=this.src+'?'+Math.random()" id="safecode" style="height:50px;width:70%;"/></div>//验证码判断public function Verify(){ob_clean();//显示验证码$cfg=array('codeSet' => '0123456789', // 验证码字符集合'imageH' => 25, // 验证码图片高度'imageW' => 80, // 验证码图片宽度'length' => 4, // 验证码位数'fontttf' => '4.ttf', // 验证码字体,不设置随机获取'fontSize' => 10, // 验证码字体大小(px)'useNoise' => false, // 是否添加杂点'useCurve' => false, // 是否画混淆曲线'bg' => array(226,229,236) //背景颜色);$very=new ThinkVerify($cfg);$very->entry();}//客户端通过ajax,实现校验验证码public function checkVerify(){$code = I('get.code');$very = new ThinkVerify();$key = $this->auth_my_code($very,$very->seKey);// 验证码不能为空$secode = session($key);//对$code进行加密,在比较校验if($this->auth_my_code($very,strtoupper($code)) == $secode['verify_code']) {echo json_encode(array('flag'=>1,'cont'=>'验证码正确'));}else{echo json_encode(array('flag'=>2,'cont'=>'验证码错误'));}}private function auth_my_code($vry,$str){$key = substr(md5($vry->seKey), 5, 8);$str = substr(md5($str), 8, 10);return md5($key . $str);}以上验证码如果输入错误提交后不能自动刷新,对代码进行更改后:location.href="/Login/Login";这样只能对整个页面刷新,提交表单的值可能会丢失,非常影响用户体验。2.如果验证码输入错误,提交后自动刷新验证码。else{$('#safecode').attr("src","/Login/Verify?"+Math.random());NewAlert(2,"验证码有误,请重新输入",null);code_ok = false;$('#verifyresult').html(msg.cont).css({'color':'red','font-size':'12px'});}3.以下为ajax提交验证码到后台校验:<script type="text/javascript">$("#login_btn").click(function(){var username = $.trim($("#username").val());var password = $.trim($("#password").val());var code = $('#veri').val();if(username == ""){NewAlert(2,"请输入用户名",null);shutdown();return false;}else if(password == ""){NewAlert(2,"请输入密码",null);shutdown();return false;}else if(code==''){NewAlert(2,"请输入验证码",null);return false;}//ajax去服务器端校验$.ajax({url:"__CONTROLLER__/checkVerify",data:{'code':code},dataType:'json',success:function(msg){if(msg.flag==1){var data= {username:username,password:password};$.ajax({type:"POST",url:"{:U('Login/Login')}",data:data,dataType:"json",success:function(msg){if(msg.RespCode=='000'){shutdown();if(msg.org_code=='fcb'){location.href="/Invest/index?biao_type=cwb";}else{location.href="{$Think.config.VIP_URL}/Individual/index";}}else{NewAlert(2,msg.RespDesc,null);return false;}},error:function(){shutdown();},beforeSend: function() {Loading();},});}else{$('#safecode').attr("src","/Login/Verify?"+Math.random());NewAlert(2,"验证码有误,请重新输入",null);code_ok = false;$('#verifyresult').html(msg.cont).css({'color':'red','font-size':'12px'});}}});});</script>
1.设置apache服务器的时候,文件的位置要写包含index.php的那个主文件夹。2.apache和thinkphp默认index.html是作为网站的默认首页,所以在浏览器端可以直接输入网址进入网站首页。3.要修改网站的默认首页可以从apache服务器中httpd.conf中修改,也可以再thinkphp默认的配置中修改。
public function NewsList(){$this->assign('title','news');$p = I('page',1);$listRows = 6;$News = M('news');$info = $News->field('id,title,subtitle,publish_date,img,detail,typename')->where(array('type'=>'news','status'=>'1'))->order('flag desc,sort_no desc')->page($p,$listRows)->select();if(!empty($info)){foreach($info as $k=>$v){$info[$k]['detail']=mb_substr($v['detail'],0,130,'utf-8');}}$this->assign('news',$info);$count = $News->where(array('type'=>'news','status'=>'1'))->count();$Page = new Page($count,$listRows);$show = $Page->show();$this->assign('page',$show);$this->display();}前端获取数据:<td style="width:85%;padding-left:15px;line-height:30px;">{$new.detail}......</td>thinkphp读取数据库数据:<?php//读取一行数据$user=M("user");$data=$user->where("status=1 AND name="thinkphp"")->find();dump($data);//读取数据集合$User=M("user");$list = $user->where('status=1')->order("create_time")->limit(10)->select();//读取字段值$user=M("user");$nickname=$user->where("id=3")->getFild('nickname');//如果传入多个字段$user=M("user");$list=$user->getFild('id,nickname');//两个字段的情况下返回的是array(`id`=>`nickname`)的关联数组,以id的值为key,nickname字段值为value。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="Keywords" content="" /><meta name="Description"content="" /><link rel="shortcut icon" href="__PUBLIC__/images/favicon.ico"><title>注册</title><script src="__PUBLIC__/js/jquery-1.7.2.min.js" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/></head><body><div class="reg_box" style="overflow:hidden;"><div class="reg_header"><div class="reg_hecont"><img style="margin-top:20px;" src="__PUBLIC__/images/logo.png"><span style="float:right;margin-top:48px;">返回首页</span></div></div><div class="reg_cenbox"><div class="reg_frame"><div class="reg_yzh"><span style="font-size:15px;color:#5380BB;">注册</span><span style="float:right;color:#5380BB;" onclick="javascript:location.href='/Login/Login/'">立即登录</span><span style="float:right;color:#727272;">已有账户?</span></div><form action="" method="POST"><div class="reg_user" ><div class="reg_ku"></div><div class="input_user" ><input id="username" name="username" type="text" placeholder=" 请输入您的登录名(6-20)" value="" style="width:100%;height:32px;border-style:none "/></div></div><div class="live_cell" ><div class="live_ku"></div><select class="test" style="width:88%;height:35px;border-style:none;color:#767676;" id="projectno" name="projectno"><option>&nbsp请输入您的所在小区</option><volist name="cell" id="vo"><option value="{$vo['id']}">{$vo['name']}</option></volist></select></div><div class="pwd_input" ><div class="pwd_ku"></div><div class="pwd_user" ><input id="password" name="password" type="password" placeholder=" 请输入密码(6到20位数字、字母)" value="" style="width:100%;height:32px;border-style:none "/></div></div><div class="pwd_confirm" ><div class="pwd_con"></div><div class="pwd_two" ><input id="paded" name="paded" type="password" placeholder=" 请输入确认密码(6到20位数字、字母)" value="" style="width:100%;height:32px;border-style:none "/></div></div><div class="user_agree"><span style="vertical-align: middle;"><input type="checkbox" id="agree" checked="checked"/><label for="agree"> </label></span><span style="color:#585858">我已经阅读并同意遵守</span><span style="color:#4F73A5">《用户协议》</span></div><div class="agree_regi" id="ceshi"><span style="color:#FFF;font-size:16px">同意并注册</span></div><input type="hidden" value="{$phone}" id="phone" name="phone" /></form></div></div><include File="Public:prompt" /><!--表单提交注册--><script type="text/javascript">$("#ceshi").click(function(){//alert("1");if($('#agree').is(':checked')){var username = $.trim($("#username").val());var cell = $.trim($("#projectno").val());var password = $.trim($("#password").val());var paded = $.trim($("#paded").val());var phone = $.trim($("#phone").val());if(username == ""){NewAlert(2,"请输入您的登录名",null);return false;}else{var reg = /^w{6,20}$/;if(!reg.test(username)){NewAlert(2,"请输入有效的登录名",null);return false;}}if(cell==""){NewAlert(2,"请输入您的所在小区",null);return false;}if(password==""){NewAlert(2,"请输入密码",null);return false;}else{var pass = /^[A-Za-z0-9]{6,20}$/;if(!pass.test(password)){NewAlert(2,"请输入有效的密码",null);return false;}}if(paded==""){NewAlert(2,"请输入确认密码",null);return false;}else{var pass = /^[A-Za-z0-9]{6,20}$/;if(!pass.test(password)){NewAlert(2,"请输入有效的密码",null);return false;}if(paded!==password){NewAlert(2,"两次密码输入不一致",null);return false;}}alert(username);var data ={username:username,cell:cell,password:password,phone:phone};$.ajax({type:"POST",url:"{:U('Register/Regnest')}",data:data,success:function(msg){alert(msg);if(msg==1){//NewAlert(2,"注册成功,请重新登录",null);locatio
<?phpnamespace HomeController;use thinkController;/*登录*/class LoginController extends PublicController {function __construct(){parent::__construct();}public function Index(){session("user",""); //清空session$mobile = parent::isMobile();if($mobile=="true"){$this->display(Wap_Login);}else{$this->display(Login);}}public function Login(){if (IS_AJAX) {$username = I('param.username');$password = I('param.password');$user = M("cuser");$res=$user->where("login_id='{$username}' OR phone='{$username}'")->find();if (!empty($res) && $res['password']==md5($password)) {$this->LoginSession($res); //存入session,把$res的一条数据存入session以方便后面使用$status=1; //用户名正确,密码正确。}elseif(!empty($res) && $res['password']!==md5($password)){$status=2; //用户名正确,密码不正确。}elseif(empty($res)){$status=3; //用户名不存在。}$this->ajaxReturn($status);exit();}$mobile = parent::isMobile();if($mobile=="true"){$this->display(Wap_Login);}else{$this->display(Login);}}//调用session方法public function LoginSession($user_info){session('[regenerate]'); //会话([再生])session("user",$user_info);}}$userid=session('user.id'); //后台取值 因为是全局变量
1.循环遍历要删除的用户的或者呀删除的文章的id值:<volist name="list" id="vo"><tr id="sit_{$vo['id']}"><td style="text-align: center;"><a class="nspan" href="{:U('Owner/OwnerInfo?id='.$vo['id'])}">查看详情</a><a class="nspan" href="javascript:Del({$vo['id']});">删除</a></td></tr></volist>2.用js提交要删除的id的值给后台方法<script type="text/javascript">function Del(id){var data={id:id};var setid="sit_"+id;if(confirm("确定要删除此用户吗?")){$.ajax({type:"POST",url:"{:U('Owner/DelOwner')}",data:data,dataType:"json",success:function(msg){if(msg==1){alert("删除成功");$("#"+setid).hide();}else{alert("删除失败");}},error:function(msg){}});}}</script>3.定义后台删除方法public function DelOwner(){$cuser=M('cuser');$id=I('param.id');$return='0';if(!empty($id)){if($cuser->where(array('id'=>$id))->delete()){$return='1';}}$this->ajaxReturn($return);}
本篇文章给大家带来的内容是关于小程序如何获取手机号(thinkphp3.2.3框架),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
本篇文章给大家带来的内容是关于如何通过LayuiAdmin&LayIM&Thinkphp&Gateway实现小程序多客服接入系统的例子,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
php中session写入数据库mysql,这里使用thinkphp框架,只需三步:php中设置用户自定义session;修改配置文件;建立数据表。本文章向大家讲解 thinkphp session写入数据库的简单实例。需要的码农可以参考一下。
这篇文章主要介绍了thinkPHP利用ajax异步上传图片并显示、删除的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ThinkPHP的数据库条件查询语句有字符串式,数组式书写方法,字符串式即是原生式而数组式的查询语句因书写方式与特定字符的原因比较复杂,今天为大家讲解一下ThinkPHP数组式查询语句的书写方法
这篇文章主要为大家详细介绍了Thinkphp 5.0实现微信企业付款到零钱,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了thinkphp5.0整合phpsocketio完整攻略(绕坑),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在本文中,我们给大家带来的是关于ThinkPHP中获取指定日期后工作日的具体日期的方法以及实例代码,有需要的朋友们学习下。
这篇文章主要为大家详细介绍了ThinkPHP 3.2.3实现加减乘除图片验证码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了ThinkPHP5 的简单搭建和使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这篇文章主要介绍了PHP实现的简单留言板功能,结合实例形式分析了基于thinkPHP框架实现的留言板相关配置、数据库操作、sql语句等实现技巧与操作注意事项,需要的朋友可以参考下
这篇文章主要介绍了thinkPHP框架实现的简单计算器,结合实例形式分析了基于thinkPHP框架的用户登陆、数值计算、数据库读写、历史记录保存等功能相关实现技巧与操作注意事项,需要的朋友可以参考下