适合新手动手实践的PHP搭配mysql的小项目,本项目主要实现以下几点:
- 简单的用户注册
- 简单的用户登录
- 修改用户信息
- 查看学生基本信息(查看学生以及对应的班级信息,实现分页)
2.实现注册页面
2.1编写注册页面register.html代码
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>用户注册</title>
<meta name="keywords" content="关键字列表" />
<meta name="discription" content="网页描述" />
<!--外部css文件的链接,href后面跟路径-->
<link rel="stylesheet" type="text/css" href="" />
<style type="text/css"></style>
<script type="text/javascript" language="javascript"></script>
</head>
<body>
<div style="width:50%;height:200px;margin:200px auto;text-align:center">
<span style="font-family: 'microsoft yahei';"> <!--使用post方法,传值给</span><span style="font-family: 'microsoft yahei';">register.php</span><span style="font-family: 'microsoft yahei';">--></span>
<span style="white-space:pre"> </span><form action="register.php" method="POST">
<p>用户名:<input type="text" name="username"/></p>
<p>密码:<input type="password" name="password"/></p>
<p>确认密码:<input type="password" name="confirm"/></p>
<input type="submit" name="submit" value="注册"/>
</form>
</div>
</body>
</html>
2.2编写
register.php代码
<?php
//***********************************//
// 用户注册页面 //
//***********************************//
//1.引入公共文件
include_once 'public.php';
//2.接受用户提交的数据
//2.1判断是否传值成功
if(isset($_POST['submit'])){
//2.2获取用户数据
$username = isset($_POST['username'])?$_POST['username']:"";
$password = isset($_POST['password'])?$_POST['password']:"";
$confirm = isset($_POST['confirm'])?$_POST['confirm']:"";
//2.3判断用户是否合法
//2.3.1判断用户名和密码是否为空
if($username == "" || $password == ""){
redirect('register.html',3,'用户名和密码不能为空!');
}
//2.3.2判断两次密码是否相同
if($password!=$confirm){
redirect('register.html',3,'两次密码输入不一致!');
}
//2.3.3判断用户名是否与数据库相同
if(checkUsername($username)){
redirect('register.html',3,'用户名已存在!');
}
//3.将数据写入数据库
if(insetNameAndPsw($username,$password)){
//3.1写入成功
$info="注册成功,正在跳转到登录界面!如不能跳转请点击<a href='login.html'>跳转</a>";
redirect('login.html',3,$info);
}
else{
//3.2写入失败
redirect('register.html',3,'注册失败!');
}
}
else{
redirect('register.html',3,'你还没注册!');
}
PS:其中调用的
checkUsername()、redirect()和
insetNameAndPsw()引用自
public.php,方法设计到连接数据库,在此先写上方法,具体实现在下一节会讲到。
3.public.php代码
<?php
<span style="white-space:pre"> </span>//***********************************//
<span style="white-space:pre"> </span>// 公共方法 //
<span style="white-space:pre"> </span>//***********************************//
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * 公共字符集处理,设置为“UTF-8”
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>header('Content-type:text/html;charset=utf-8');
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * 公共跳转函数
<span style="white-space:pre"> </span> * @param1 string $url,跳转页面路径,默认“login.html”
<span style="white-space:pre"> </span> * @param2 int $time,跳转间隔时间,默认“3秒”
<span style="white-space:pre"> </span> * @param3 string $info,跳转提示信息,默认“失败”
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>function redirect($url = 'login.html',$time = 3,$info = '失败'){
<span style="white-space:pre"> </span>//通过刷新界面实现
<span style="white-space:pre"> </span>header("Refresh:{$time};url ={$url}");
<span style="white-space:pre"> </span>//返回提示信息
<span style="white-space:pre"> </span>echo $info;
<span style="white-space:pre"> </span>//终止脚本执行
<span style="white-space:pre"> </span>exit;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * 连接数据库
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>function connectSql(){
<span style="white-space:pre"> </span>//链接认证
<span style="white-space:pre"> </span>@$link=mysql_connect('localhost:3306','root','123456');
<span style="white-space:pre"> </span>//验证连接
<span style="white-space:pre"> </span>if(!@link)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>//链接失败,并返回错误详情。
<span style="white-space:pre"> </span>echo '当前连接失败,失败原因如下:<br/>';
<span style="white-space:pre"> </span>echo '错误编号:'.mysql_errno.'<br/>';
<span style="white-space:pre"> </span>echo '错误详情:'.mysql_error.'<br/>';
<span style="white-space:pre"> </span>//终止脚本执行
<span style="white-space:pre"> </span>exit;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>//设置数据库字符集
<span style="white-space:pre"> </span>mysql_query('set names utf8');
<span style="white-space:pre"> </span>//选择数据库
<span style="white-space:pre"> </span>mysql_query('use firstPRO');
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>//打开连接
<span style="white-space:pre"> </span>connectSql();
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * 判断用户名是否在数据库中存在
<span style="white-space:pre"> </span> * @param1 string $username,用户名
<span style="white-space:pre"> </span> * @return boolean,若存在返回true,不存在返回false
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>function checkUsername($username){
<span style="white-space:pre"> </span>//编写sql语句
<span style="white-space:pre"> </span>$sql = "select * from pro_user where u-username = '{$username}'";
<span style="white-space:pre"> </span>//执行sql语句
<span style="white-space:pre"> </span>$res=mysql_query($sql);
<span style="white-space:pre"> </span>//转为布尔类型进行判断,并返回
<span style="white-space:pre"> </span>@$rlt=mysql_num_rows($res)?true:false;
<span style="white-space:pre"> </span>return $rlt;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>/*
<span style="white-space:pre"> </span> * 判断用户名和密码是否成功写入数据库
<span style="white-space:pre"> </span> * @param1 string $username,用户名
<span style="white-space:pre"> </span> * @param2 string $password,密码
<span style="white-space:pre"> </span> * @return boolean,若成功返回true,不成功返回false
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>function insetNameAndPsw($username,$password){
<span style="white-space:pre"> </span>//编写sql语句
<span style="white-space:pre"> </span>$sql = "insert into pro_user values(null,'{$username}','{$password}',default)";
<span style="white-space:pre"> </span>//执行sql语句
<span style="white-space:pre"> </span>$res=mysql_query($sql);
<span style="white-space:pre"> </span>//判断插入结果,并返回
<span style="white-space:pre"> </span>return $res ? true:false;
<span style="white-space:pre"> </span>}
完成以上步骤即可实现注册页面的全部功能。