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

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

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

长这样,虽然不好看,但基本功能都有。

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

用户注册

注册信息表单填写界面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),一个切换用户链接(直接进入到登录页面)。

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

更多推荐

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