ThinkPHP讲解(十一)——验证码和文件上传

一、验证码

1.页面前端显示 (验证码是图片标签,来源是控制器里的yzm()操作方法)

<h1>登录</h1>
<form action="__ACTION__" method="post">
<div>用户名:<input type="text" name="uid"/></div>
<div>密码:<input type="password" name="pwd"/></div>
<div>验证码:<input type="text" name="yzm"/><img id="yzm" src="__CONTROLLER__/yzm"/></div>
<input type="submit" value="登录"/>
</form>

  

注意:点击验证码进行刷新,使用jq

<script type="text/javascript">
$(document).ready(function(e) {
    $("#yzm").click(function(){
		 $(this).attr("src","__CONTROLLER__/yzm");
		})
});
</script>

  

2.后端验证码生成,操作方法yzm()

//生成验证码
	function yzm()
	{
		$config=array(
		"footSize"=>15,
		"imgW"=>100,
		"imgH"=>15,
		"length"=>4,
		"useZh"=>true,

		);

		$Verify=new \Think\Verify($config);  //引用验证码类Verify
		$Verify->entry(2);//生成验证码标示为2
	}

  

3.登陆后盾操作方法:Login()

function Login()
	{
		if(empty($_POST))
		{
			$this->display();
		}
		else
		{
			$code=$_POST["yzm"];
			$verify=new \Think\Verify();
			$z=$verify->check($code,2); //检测验证码
			if($z)
			{
				if($_POST["uid"]!=""&&$_POST["pwd"]!="")//判断账号和密码是否为空
				{
					$uid=$_POST["uid"];
					$pwd=$_POST["pwd"];
					$model=D("user");
					$z=$model->field("pwd")->find($uid);

					if($z["pwd"]==$pwd)
					{
						session("uid",$uid);
						$this->success("登陆成功",U("Main/Main"));
					}
					else
					{
						$this->error("登陆失败","Login");
					}
				}
				else
				{
					$this->error("用户名或密码不能为空","Login",1);
				}
			}
			else
			{
				$this->error("验证码错误!");
			}
		}
	}

  

二、文件上传

1.文件上传前端:shangchuan.html

<body>
<h1>文件上传</h1>
<form action="__ACTION__" enctype="multipart/form-data" method="post">
<div><input type="file" name="photo"/></div>
<div><input type="submit" value="提交"/></div>
</form>
</body>

  

2.后端操作方法:shangchuan()

//上传表单
	function ShangChuan()
	{
		if(empty($_FILES))
		{
			$this->display();
		}
		else
		{
			$upload=new \Think\Upload();//实例化上传类
			$upload->maxSize=3145728;//上传文件大小
			$upload->exts=array("jpg","gif","png","jpeg");//上传文件格式
			$upload->rootPath=‘./Public/Uploads/‘;
			//$upload->savaPath=‘Uploads/‘;
			$upload->saveName="" ;

			$info=$upload->upload();
			//var_dump($info);
			if($info)
			{
				$this->success("上传成功");
			}
			else
			{
				$this->error($upload->getError(),"ShangChuan");
			}
		}
	}

  

三、获取ip地址

function ip()
	{
		$ip=get_client_ip();  //获取客户端ip地址

		$IP=new Org\Net\Iplocation("UTFWry.dat"); //实例化类,参数表示ip地址库文件
		$area=$IP->getlocation($ip);  //获取某个ip地址所在的位置

	}

  

时间: 2024-07-30 13:49:34

ThinkPHP讲解(十一)——验证码和文件上传的相关文章

Thinkphp 验证码、文件上传

一.验证码 验证码参数 例题:登录时验证下验证码 LoginController.class.php <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { public function Login() { if(empty($_POST)) { $this->display(); } else { //判断验证码是否正确 $code = $_POST[

6月19 使用tp框架生成验证码及文件上传

ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think/Verify/ttfs/目录下面的字体文件,我们可以指定验证码的字体 汉字的验证码:ThinkPHP/Library/Think/Verify/zhttfs/添加中文的字体格式 更改字体:ttf格式 关于验证码的一些知识点: 1.例题:通过验证码实现用户的登录,并利用jquery实现点击图片验证码

ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)

验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginController控制器中判断验证码是否正确并且判断登陆是否成功 文件上传 用到的知识点: 1.文件上传的时候,要设置表单的enctype属性 2.$_FILE[名字][]用来接收文件的信息 第二维的字段: name size error type tmp_name 3.move_uploaded_fil

0802验证码,文件上传

验证码确保php无输出、sql语句的封装性、文件上传的工具类【这三个重点工具类实现】

1.php代码在引入中不会进行结束或者确保结束之后没有空格,来保证php在被包含中没有被输出[防止header和session_start()对输出的控制]实质上,需要注意的就是,要不就进行输出缓存控制以及php开始标签前没有空格 验证码这个功能需要header和session两个功能[尤其需要注意输出的问题] [总结:防止php代码中带着一些输出的问题](1)在php标签中开始<?php 前顶格(2)php结束符要不不写,写了就不要在结束之后还有换行[防止该文件被包含之后提前出线输出](3)或

【Spring学习笔记-MVC-13】Spring MVC之文件上传

作者:ssslinppp       1. 摘要 Spring MVC为文件上传提供了最直接的支持,这种支持是通过即插即用的MultipartResolve实现的.Spring使用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver. 下面将具体讲解Spring MVC实现文件上传的具体步骤. 2. 添加Jar包 Spring MVC文件上传,需要添加如下两个jar包: commons-fil

实例讲解ThinkPHP的UploadFile文件上传类的详细用法

ThinkPHP文件上传自带了上传类,使用起来非常方便,我们将以一个文件上传实例来讲解ThinkPHP上传类的实际用法,上传类使用时有详细的中文注释,可以非常方便的告诉你类的一些方法或变量的使用方法.FileAction.class.php PHP Code复制内容到剪贴板 <?php class FileAction extends Action{ function index(){ $file=M('file'); $list=$file->select(); $this->assi

python运维开发(二十一)----文件上传和验证码+session

内容目录: 文件上传 HTML Form表单提交 ajax提交 原生ajax提交 jQuery Ajax提交 验证码+session 文件和图片的上传功能

thinkphp实现文件上传

文件上传详细讲解 http://www.thinkphp.cn/info/194.html 上传根目录不存在问题解决方法 http://www.thinkphp.cn/topic/10779.html