介绍介绍福哥今天要继续制作TFUMS系统的用户登录状态的功能,上一课我们已经完成了用户登录状态的接口的开发,今天我们的目的就是要在页面上根据这个用户登录状态显示不同的界面内容,让用户可以了解到自己当前是否已经登录了。用户登录状态有两种使用场景,第一种就是在后台进行判断的,这种场景属于在后端发现用户没有登录就会直接拦截并采取措施(例如:...
介绍介绍今天福哥要带着大家做一些系统级别的调整,我们带着一个问题去了解这个系统级别的调整需要做哪些事情,今天的课程有一定难度,大家要仔细听了~~首先,我们需要在每个用户网页上面判断当前浏览器有没有用户已经登录过了,如果有登录则显示登录才能看到的内容,否则就要显示未登录状态的信息。那么如果判断登录这个逻辑在每个页面都写一遍的话,想一想都...
介绍介绍福哥今天就带着大家完成TFUMS系统的登录功能,为什么登录功能不分几集?因为在注册功能开发的过程中我们已经把表单需要准备的工具和接口都弄好了,所以今天在制作登录功能的时候一集就可以做完了。登录功能就是检验用户输入的用户名和密码是否正确,如果用户名和密码是正确的,就建立一个token。这个token里包含这登录用户的信息,但是一...
介绍介绍今天福哥打算使用TFPHP框架的TFSafeCode对象给我们的TFUMS系统的注册功能增加验证码功能,大家可以通过这个注册功能的验证码功能了解到验证码是怎么一回事、验证码的工作原理以及验证码在表单当中的作用和价值。验证码简单说就是:防止机器人模拟用户操作表单的安全防护措施。也就是说,我们给表单增加验证码机制的目的仅仅是为了避...
介绍介绍福哥今天要带着大家给我们的TFPHP框架添加一个工具对象TFSafeCode,这个工具对象是用来生成验证码和校验验证码的。验证码大家都很熟悉了,就是在诸如:注册、登录等等重要的操作时候除了表单自有的项目之外还会有一个验证码项目,这个验证码五花八门什么样式的都有,其目的就是防止黑客使用机器人模拟用户来操作这个表单。今天福哥要在T...
介绍介绍福哥今天要带着大家开发TFUMS系统的注册功能的处理程序了。这个处理程序会调用模型user的add方法进行创建用户的操作,模型user的add方法会先检查用户名是否被占用了,如果没有被占用才能进一步完成创建用户的操作,否则会报错。如果处理程序报错的话,会返回错误码和错误信息。这个错误码需要我们定义好,一般情况下错误码一个是7位...
介绍介绍今天我们继续开发注册功能,今天主要完成的是表单处理时候的错误提示的处理的技巧。错误处理福哥上一课已经决定了使用tips提示框来实现,tips提示框的特点就是它会在屏幕中间显示一个黑色的框框,里面是白色的错误提示文字,这个提示框会在几秒钟后自动消失掉。要实现这个功能很显然需要使用JS程序来完成,福哥使用jQuery的控件封装技术...
介绍介绍今天福哥来带着大家完成第一个页面控制器——注册页面。首先注册页面应该有验证码的,而验证码需要用到GD库,我们的TFPHP暂时没有处理图像的能力,所以这一版注册页面福哥暂时先不实现验证码的功能。其次表单提交出现问题需要提示用户的,福哥在前面也没有设计错误提示显示方式,这次会使用一个旋风的黑色提示框来提示错误信息。最后一个含有表单...
介绍介绍福哥在使用PyCharm调试程序的时候发现得到了这个错误:bad magic number in 'lib': b'\x03\xf3\r\n'这是怎么回事呢?原因每一个py脚本运行之前都会编译成pyc文件,当py脚本修改后python会重新编译这个文件。出现这个错误是因为pyc和py脚本不一致造...
介绍介绍跟福哥学习编程,无论是java,还是php,或者是asp.net,都会需要连接一些服务,包括但不限于MySQL、Redis、Memcached、Apache、Tomcat、MongoDB、ElasticSearch、Kafka等等这些软件有的有windows版本,有的只有linux版本,无论是否有windows版本,linux...
介绍介绍在Python里面字符串有两种形式——普通str和字节(bytes)str,这两种形式是不一样的,有的库需要传入普通形式的字符串,有的库需要传入字节形式的字符串。str使用双引号括起来的内容就是字符串。bytes将普通字符串以一种编码encode之后就是字符串的字节形式了。相互转换bytes转strmyBytes =...
介绍介绍福哥学习Python也有半年了多了。之前对Python的理解比较肤浅,觉得Python是个“不三不四”、“不伦不类”的语言,定位也不清晰,语法又很古怪,还被一帮JS拿去忽悠家长给鸡娃报班。现在福哥作为一名“老”Python程序员对Python有了全新的认识,Python是一个非常好的语言,理由是:首先,相比较PHP语言,Pyt...
介绍介绍Redis是一款使用内存作为存储介质的数据库。大家应该都知道,计算机最快的单元是CPU,较次之的单元就是内存,再其次才是固态硬盘,最后是传统的物理硬盘。现如今大部分笔记本电脑和台式机都已经开始采用固态硬盘作为主要存储介质了,但是服务器领域传统的物理硬盘还是主流的(毕竟几百G、甚至几个T的巨大容量固态硬盘成本太高了)。所以,Re...
介绍介绍福哥今天带着大家完成个人资料修改的功能。这个个人资料修改里面包括很多项目,包括昵称、性别、生日、学历、个人介绍几个项目。其中性别是一组单选项,而生日是两组下拉框,学历是一组下拉框,个人介绍是一个多行文本框,看起来个人资料表单包含了大部分表单元素内容了。这个表单里有个难点,就是要保存性别和学历的时候,表单里面是一个单词,而数据库...
介绍介绍今天我们和福哥一起来好好设计一下安全问题功能,安全问题用来识别账号的安全保护身份。用户在指定若干问题里面挑出三个问题,并提供这三个问题的自己的答案。在验证安全保护身份的时候,用户需要答出这三个问题的答案,且答案要一字不差。这种验证的安全系数是非常高的,即便是和用户本人非常熟悉的人也很难得出三个问题的正确答案。设置安全问题代码/...
介绍介绍今天福哥带着大家来实现用户模块user的设置绑定邮箱和修改密码功能。设置绑定邮箱属性修改数据库操作,所以在修改之前需要检查目标数据记录是不是存在。由于绑定邮箱是不能够有重复的,所以还要检查这个准备写入的邮箱地址是不是被其他人使用了。最后就是通过update方法更新绑定邮箱字段了。修改密码功能也属于修改数据库操作,在修改之前也需...
介绍介绍今天我们来建立TFUMS的第一个模块用户模块user,然后在这个模块里面实现添加用户和用户身份认证两个基础功能。添加用户就是向user表插入一条数据,只不过插入之前需要通过查询语句检查用户名是否已经被其他人使用了,因为用户名userName是约束键,就是说用户名userName不能有重复的情况。用户身份认证最简单的做法就是根据...
介绍介绍上一阶段福哥带着大家完成了TFUMS的视图模板的制作,根据这些模板上面的功能回头看看我们的数据表的字段,会发现很多功能用到的字段我们并没有设计进来。这是因为福哥在计划开这门《做个用户管理系统》课程之初没有想过要做这么复杂的一套系统,或者说第一版不打算做这么多功能,所以导致最初设计的数据表的字段过于简陋,不够支持项目的功能。当然...
介绍介绍今天福哥来实现jQuery控件form对于表单验证的功能,说起表单验证大家可以想到的就是通过JQ获取表单项的值,然后判断表单项的值是否满足业务规则,如果不满足规则就要告知用户重新填写或重新选择表单项,其实这一系列的操作是有很多规则可循的。首先通过JQ获取表单项的值是第一步,也是可以集中处理的。其次根据业务规则判断表单项的值是否...
介绍介绍我们的TFUMS的网页模板基本上都做好了,但是大家都发现了我们的模板里面的表单是不能提交的,这是因为缺少驱动程序,这个驱动程序就是指Javascript代码。在用户填写完表单项之后,点击了提交按钮,浏览器会将用户填写的内容组织起来发送给指定的服务器地址去处理。不过现如今的表单提交不再使用浏览器去处理了,而是使用AJAX技术去实...
介绍介绍今天福哥会带着大家完成个人资料修改页面和用户头像设置页面的模板的设计。个人资料里的项目比较多一些,这里面的项目在数据库里的没有对应的字段用来保存数据,我们今后会一起不上来。用户头像设置里有一个图片,这个图片是可以点击的,点击后会打开文件选择对话框让用户选择一张图片,然后系统会将这个照片经过处理加工后保存起来作为用户的头像使用。...
介绍介绍今天福哥跟大家完成忘记密码页面和重置密码方式页面的模板的制作,这里面忘记密码和重置密码方式是一个操作流程的前两步,是连续的表里的设计。这种多步骤表单在的设计需要一些技巧的,我们要知道每一步在整个流程里的具体步骤位置,还要避免其中一步被直接访问到的问题。今天没有按上一课说的制作个人资料修改页面,因为我们在前面设计数据表的时候只涉...
介绍介绍今天我们赶一下进度,福哥打算一下子完成三个比较普通的页面的制作,修改密码页面、绑定邮箱页面、安全问题页面。这三个页面里使用的技术和登录页面基本一样,所以我们就可以快速地把这三个页面制作完成了。不多说了,直接上代码和截图,大家直接照着来就行了修改密码页面HTML<!-- passwd form ...
介绍介绍福哥今天本来打算多弄几个页面,后来在实现注册页面的服务协议这里花了点时间。在早以前注册页面的服务协议就是在表单里增加一个复选框一个指向服务协议具体内容的链接即可。可是福哥参考大厂的注册页面发现现在已经不这样处理了,都是弄一个遮罩,弹出一个对话框,在里面直接显示服务协议内容,只有同意了才能继续,否则自动转到首页去。福哥决定不能被...
介绍介绍前面我们以及学会了Bootstrap框架和jQuery库的基本使用方法,并且已经把这两个软件包整合到了我们的TFPHP框架里面,接下来我们就可以使用它们去制作用户管理系统的视图模板了。用户管理系统包含几个主页模板:1)用户信息表2)用户登录页面3)用户注册页面4)个人资料修改5)登录密码重置6)用户头像上传7)安全问题设置8)...
介绍介绍jQuery是一款非常流行的前端Javascript库,jQuery相比原生的Javascript要更加简单、更加直观。jQuery除了简化JS代码之外,还提供了一系列的常用属性的获取,常用功能的封装。不仅如此,jQuery还将JS的事件处理封装的更加友好。最重要的是使用jQuery编写JS代码可以忘记各个浏览器之间的差异导致...
介绍介绍Bootstrap是一个免费的web前端框架,它将HTML、CSS、Javascript结合到一起,制定了一系列的前端开发规则,使设计网页就像搭积木一样简单。今天我们就跟着福哥来学习一下Bootstrap框架的使用技巧,我们的TFPHP框架会将Bootstrap引入进来作为框架的前端模块的支持。安装安装Bootstrap很简单...
介绍介绍今天福哥要跟跟大家说一说标签的样式,上一课我们学习的标签的样子就是它们的“默认”样子,实话实说这简直太难看了!为了让它们看起来更漂亮,为了可以使用这些标签勾勒出互联网上我们看到的那些美轮美奂的网页,我们需要通过标签样式对它们进行换装、进行美化。标签样式格式使用标签样式的语法,示例:我们给一个div设置边框和背景颜色。<d...
介绍介绍福哥今天跟大家讲一讲HTML语言,讲到HTML语言就要说说标签,因为HTML语言又称为标签语言。HTML语言的基本结构就是一个一个的标签组成的,每个标签在网页上面会作为一个元素展示出来,再通过CSS样式表调整它们的样式,最终把漂亮的网页呈现到用户面前。标签格式标签格式为双尖角符号括起来一个英文单词,示例:<div>...
介绍介绍昨天我们已经对TFUMS系统的需求进行了分析,今天福哥带着大家把TFUMS的数据表设计一下。根据我们的需求分析结果可以知道,TFUMS只有一个模块就是用户模块,该模块只有一个模型就是用户模型。而且用户模型的属性和功能已经设计好了,现在我们就根据这些设计好的内容进行数据库的设计了。数据库数据库名称自然就是tfums了,这个没有什...