• 用户登录页面

1.通过数据库验证用户名和密码(可以将里面要用到的数据库信息,放入到一个config文件中)

<?php

define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASSWORD','123');
define('DB_NAME', 'xx');

2.login.php页面引入,这里一定要用相对路径,因为在执行代码的时候是按文件方式加载,只能用相对路径

<?php
require_once '../config.php';

3.验证密码的时候

原因:

1)如果查找失败不知道是用户名出错还是密码出错

2)密码在存储的时候大多都是加密存储的,

3.对页面的访问权限(用session)

当用户名和密码都验证成功的时候,将当前的用户信息存入SESSION中

在index.php页面验证是否有这个SESSION,如果有就可以访问当前页面,如果没有就跳回到登录页面

  • 输入完用户名的时候显示头像

需要理解的几个点:

1)什么时候表示用户输入用户名输入完成:当文本框失去焦点的时候,说明输入完成

2)客户端如何告诉服务端:客户端通过ajax请求,与服务端发生联系,通过客户端提交过去的参数,在数据库中找到对应的图片

3)校验用户输入的用户名:如果为空或者格式不是邮箱就不显示

客户端操作:

服务端操作:

requie_once中的路径的问题:

(1)这里只能写相对路径

(2)遇到一种写相对路径也无法引入的情况

两个页面分别都引入了另外一个文件

解决这个问题:

index页面:require_once dirname(__FILE__).'/../functions.php';

php小项目踩坑以及其中的注意点(第二篇)的更多相关文章

  1. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  2. Egret 生成 自带EUI 的微信小游戏 踩坑!

    1. 首先,再次被网上一大堆屎一样的资料搞得浪费了我一天时间.各种坑. 2. 本文先讲一种正确的方式,然后再列举坑. 去www.egret.com下载最新的引擎,我的最新版本是5.2.2. 然后就会被 ...

  3. 首个hybird商业项目踩坑总结

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  4. 微信小程序踩坑之一[thist]使用技巧

    刚上手小程序 时,习惯把this当成jquery中的$(this)来用,实际上这两个还是有差别的 在页面方法中调用其他方法,一般是用this.function(),直接调用小程序 的方法或函数则是用w ...

  5. electron项目踩坑--A JavaScript error occurred in the main process:document is not defined

    前言 记录electron-vue项目开发中遇到的一个错误,运行时报错如图: 控制台报错如下: ReferenceError: document is not defined at Object.&l ...

  6. mpvue微信小程序项目踩坑记录

    1.mpvue入门教程, http://mpvue.com/mpvue/quickstart.html # . 先检查下 Node.js 是否安装成功 $ node -v v8.9.0 $ npm - ...

  7. html2canvas在Vue项目踩坑-生成图片偏移不完整

    背景 最近做一个Vue项目需求是用户长按保存图片,页面的数据是根据不同id动态生成的,页面渲染完生成内容图片让用户长按保存的时候,把整个页面都保存起来. 在项目遇到的坑是图片能生成,可是生成的图片总是 ...

  8. 微信小程序踩坑之一【weui-wxss-master单选按钮图标修改思路】

    小程序原生所带的weui框架做小程序UI实在太方便了,但是他的一些细微变化也是让开发中碰到不少头疼的问题 一直以来单选多选的美化都是设计师重点表达的地方之一 而weui-wxss-master中的单选 ...

  9. 微信小程序踩坑之一[wx.request]请求模式

    最近在做小程序时,使用wx.request()方法请求时, 当使传输string类型时,一定要声明method请求模式为post,否则会一直报错,而不声明时默认为get, 已填坑 =,= wx.req ...

随机推荐

  1. Js--String、Date、Array对象

    /* * String 对象 属性 length 方法 */ //String的length属性 var strL = "abcde"; document.write(" ...

  2. ubuntu16.04下 搭建 lnmp 环境

    apt-get install nginx apt-get php7.-mysql apt-get install mysql 编辑nginx配置文件 vim /etc/nginx/sites-ena ...

  3. Python中数字之间的进制转换

    Python中的数据转换 在python中可以通过内置方法进行相应的进制转换,但需记得转化成非十进制时,都会将数字转化成字符串 转化成二进制 a = 10 #声明数字,默认十进制 b = bin(a) ...

  4. 自己实现memcpy,strcpy与strncpy

    内存拷贝函数 //实现拷贝不重叠的内存块 void* memcpy1(void* dst,const void* src,size_t count) { char* pTo = (char*)dst; ...

  5. Ubuntu基于zsh自定义设置shell主题

    为优化Ubuntu命令行页面效果,Google一番选择github上开源项目zsh,以自定义Shell主题,注:本机系统为Ubuntu 14.04 1.安装zsh sudo apt-get insta ...

  6. docker --环境变量制作模板

    比如你现在有配置文件:decoder.conf decoder.conf里面有两个配置项写的是: THREAD_NUM:24 GPU_ID:0 现在你希望通过某个统一的配置来修改这些配置项,以免在部署 ...

  7. K - Transformation HDU - 4578 线段树经典题(好题)

    题意:区间  加   变成定值 乘  区间查询:和 平方和 立方和 思路:超级超级超级麻烦的一道题  设3个Lazy 标记分别为  change 改变mul乘 add加  优先度change>m ...

  8. Educational Codeforces Round 51 (Rated for Div. 2) G. Distinctification(线段树合并 + 并查集)

    题意 给出一个长度为 \(n\) 序列 , 每个位置有 \(a_i , b_i\) 两个参数 , \(b_i\) 互不相同 ,你可以进行任意次如下的两种操作 : 若存在 \(j \not = i\) ...

  9. ⌈洛谷4735⌋⌈BZOJ3261⌋最大异或和【可持久化01Trie】

    题目链接 [BZOJ传送门] [洛谷传送门] 题解 终于学会了可持久化trie树了.感觉并不是特别的难. 因为可持久化,那么我们就考虑动态开点的trie树. 都知道异或操作是有传递性的,那么我们就维护 ...

  10. iis express添加虚拟目录

    在调试WEB时,还是使用IIS EXPRESS比较方便, 在IIS中,选择网站,右击,添加虚拟目录或者应用程序,就能添加虚拟目录了.. 在IIS EXPRESS中,添加虚拟目录如下 1.右击IIS E ...