php实例——用户注册与登陆

这周作了个php的简单实例,算是学了这么久php语法的一次综合应用吧,感受前面学的东西都不知道怎么用,不看教程还真作不出来。原本想把它写在网页弹出层上的,这样看起来更像是一个用户登陆框,可是看了弹出层的代码后发现太麻烦了,全部的登陆框代码都必须写在一个innerhtml里,之后有时间再去尝试吧!php

首先这个实例包括六个文件,用户登陆两个(login.html,login.php)、用户注册两个(reg.html,reg.php)、数据库链接(conn.php)、用户中心(my.php)。html

用户登陆
html文件:主要包括一个表单来输入用户登陆信息,加上一段的js代码来初步验证表单(用户输入不能为空),当用户输入为空时,提交时弹出错误信息、并调用focus()方法将输入光标移到错误位置。输入有效信息后将信息经过post方法传递给php文件进一步验证表单。mysql

长这样,虽然很差看,但基本功能都有。
web

php文件:首先开启会话即session_start(); 经过判断$_post[‘submit’]是否为空来鉴定是否存在非法访问行为;为了安全将表单传递过来的用户名和密码分别进行转码($username = htmlspecialchars($_POST['username']);
)和加密($password = MD5($_POST['password']););将数据与链接的数据库中的数据进行比较,若匹配则提示用户进入用户中心或注销登陆,若不匹配则提示用户返回登陆页面。在这里要说的是密码错误和用户名不存在提示的是一条错误信息,能够优化一下使得界面更加友好。正则表达式

用户注册sql

注册信息表单填写界面js脚本初步检测用户输入的注册信息是否为空,注册处理模块检测注册信息是否符合要求(输入信息均不为空,两次输入的密码一致,且符合表单给出的输入限制,检查用户名是否已经存在),输入有效将数据写入数据库并提示用户进入到登陆页面,输入无效则提示用户返回表单。
要用到的方法:
include(”)//用于包含数据库链接文件,链接数据库
mysql_query()//查询数据库中的数据并返回
mysql_fetch_array()//从结果集中取得一行做为关联数组
my_query()//返回上一个sql操做的错误文本信息
preg_match(x,x)//用于正则表达式与值的匹配数据库

由于是照着教程敲的,因此看起来中规中矩。
这里写图片描述数组

数据库链接安全

<html>
<meta charset=UTF-8>
<?php $conn = @mysql_connect("localhost","root",""); if(!$conn){ die("没法链接到数据库!".mysql_error()); } mysql_select_db("user",$conn); mysql_query("set character set 'gbk' "); mysql_query("set names 'gbk'"); ?>
</html>

mysql_connect表示链接到数据库localhost为主机名,root为数据库名,后面一个为密码,装wampserver时默认为空。session

用户中心
用于打印用户基本信息,包括一个注销连接(注销会结束会话session),一个切换用户连接(直接进入到登陆页面)。

php教程地址:http://www.5idev.com/php-practice.shtml