TP引用样式表和js文件及验证码

引入样式表和js文件

<script src="__PUBLIC__/bootstrap/js/jquery-1.11.2.min.js"></script>
<script src="__PUBLIC__/bootstrap/js/bootstrap.min.js"></script>
<link href="__PUBLIC__/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"></link>

布局页面

	<form action="__ACTION__" method="post">
<div class="panel panel-primary">
<div class="panel-heading" style="text-align:center;">
<h3 class="panel-title">登录页面</h3>
</div>
<div class="panel-body">
<label class="col-sm-2 control-label yhm" id="yhm1">用户名:</label>
<input type="text" class="form-control yhm" placeholder="请输入用户名" name="uid">
<label class="col-sm-2 control-label yhm" id="mm1">密码:</label>
<input type="password" class="form-control yhm" placeholder="请输入密码" name="pwd">
<label class="col-sm-2 control-label yhm" id="yzm1">验证码:</label>
<input type="text" class="form-control yhm" placeholder="请输入验证码" name="yzm">
<div style="height:10px;"></div>
<img id="yzm" src="__CONTROLLER__/yzm" />
</div>
<div class="panel-body" style="text-align:center;">
<button type="submit" class="btn btn-primary btn-sm">点击登录</button>
</div>
</div>

js文件点击刷新验证码

<script type="text/javascript">
$("#yzm").click(function(){
var s = Math.ceil(Math.random()*100);//随机生成0-100的整数
$(this).attr("src","__CONTROLLER__/yzm/a/"+s);
})
$("#s").blur(function(){
var s = $(this).val();
$.ajax({
url:"__CONTROLLER__/check",
data:{s:s},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(data);
}
})
})
</script>

php文件

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
if(empty($_POST)){
$this->show();
}else{
//验证码验证
//$_POST["yzm"];
$y = I("post.yzm");
$v = new\Think\Verify();//获取验证码
if($v->check($y)){//验证码是否正确
//验证用户名密码
$uid = I("post.uid");
$pwd = I("post.pwd");
$db = D("Users");
$arr = $db->find($uid);
$mm = $arr["pwd"];
if($mm==$pwd&&!empty($pwd)){
session("uid",$uid);
$this->success("登录成功正在跳转",U("Index/index"));
}else{
$this->error("用户名或者密码不正确!");
}
}else{
$this->error("验证码不正确!");
}
} }
public function yzm(){
$v = new\Think\Verify();//实例化验证码类
$v->entry();//引用获取验证码的方法
}
public function check($s){
$v = new\Think\Verify();
if($v->check($s)){
$this->ajaxReturn("验证码正确,请输入用户名和密码!","eval");
}else{
$this->ajaxReturn("验证码不正确!","eval");
}
}
}

======

验证码参数

public function yzm(){
$v = new\Think\Verify();//实例化验证码类
//$v->useImgBg = true;
//$v->fontSize = "100";
//$v->lenth = 3
$v->entry();//引用获取验证码的方法
//如果好几个验证码 可以用id区分
//$v->entry(1);
//然后check()方法后面多一个id参数如check($s,1)
}

可以在这里修改验证码的内容---------

TP引用样式表和js文件及验证码的更多相关文章

  1. CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器

    CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...

  2. DotNetNuke-DNN Module模块引用自定义CSS或者JS文件

    当新增一个module时,有时会引用自定义的或者第三方CSS.JS文件. 1.添加自定义的CSS时,可以直接在module的根目录下添加module.css,然后框架会自动加载此CSS: 2.这个比较 ...

  3. UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)

    UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...

  4. ASP.NET动态引用样式表(css)和脚本(js)文件

    // 引入js文件 HtmlGenericControl scriptControl = new HtmlGenericControl("script"); scriptContr ...

  5. 微信小程序之页面引用utils中的js文件

    /* 只可使用相对路径 */const utils = require('../../../utils/util.js') Page({})

  6. JS引用另外JS文件的顺序问题。

    1.在a.js中可以引用b.js文件,这样就可以在网页中只引用a.js文件,从而可以使用a.js和b.js文件中的所有方法. 引用格式如下:document.write('<script typ ...

  7. HTML中引用外部JS文件失效原因

    今天在练习中碰到“引用外部的一个js文件但是却失效”的情况,实在不懂,百度后才知是引用的位置不对,错误的代码如下: <head> <meta charset="UTF-8& ...

  8. 引用js文件

    在子模板里引用js文件的时候,需要把相应的.js文件放到static目录下,如引用static/jQuery/index.js文件: {% extends "base.html" ...

  9. 在SharePoint解决方案中使用JavaScript (1) – 引用.js文件

    本文是系列文章的第一篇. 在SharePoint解决方案中使用JavaScript (0) 作为在SharePoint应用程序中使用JavaScript的第一步,就是要知道如何将一个写好的.js文件, ...

随机推荐

  1. nginx url问题

    测试需求,url自动加/后,发现重定向不带端口,即为 test.a.com:3443/abc  nginx自动重定向301到 test.a.com/abc,端口消失. 分析可能和nginx默认配置se ...

  2. android gradle jnilibs

    https://blog.csdn.net/xx326664162/article/details/51167849 [ABIXCPU] Android jniLibs下目录详解(.so文件) htt ...

  3. linux学习:【第2篇】常用命令

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第2篇]常用命令 基本命令 //打开终端: CentOS:在任何地方,右键-- ...

  4. 内核态与用户态通信 之 sockopt

    转自:http://blog.csdn.net/jk110333/article/details/8642261   用户态与内核态交互通信的方法不止一种,sockopt是比较方便的一个,写法也简单. ...

  5. linux 系统中 /etc/passwd 和 /etc/shadow文件详解

    链接地址:http://blog.csdn.net/yaofeino1/article/details/54616440

  6. 【PyQt5-Qt Designer】窗口操作

    1.窗口最上栏最大化 最小化 关闭按钮显示 #设置最小化与最大化按钮 self.setWindowFlags(QtCore.Qt.Window) 将其添加到Ui_***  布局代码中即可 2.窗口知识 ...

  7. es分词器

    1.默认的分词器 standard standard tokenizer:以单词边界进行切分standard token filter:什么都不做lowercase token filter:将所有字 ...

  8. 写一致性原理以及quorum机制

    (1)consistency,one(primary shard),all(all shard),quorum(default)我们在发送任何一个增删改操作的时候,比如 PUT /index/type ...

  9. SpringBoot-整合lombok

    添加lombok依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lom ...

  10. dispatch_queue_set_specific可重入的gcd

    有时候我们很希望知道当前执行的queue是谁,比如UI操作需要放在main queue中执行.如果可以知道当前工作的queue是谁,就可以很方便的指定一段代码操作在特定的queue中执行.这种做法让G ...