壁纸网站+留言板源文件
文章目录
- 一、实验环境
- 二、数据库设计部分
- 1、新建连接
- 2、新建数据库
- 3、创建表
- 三、实现功能
- 1、登录
- 2、注册
- 3、修改密码
- 4、删除用户及留言
- 5、留言板
- 四、效果图
- 1、首页
- 2、登录界面
- 3、注册界面
- 4、留言板界面
- 五、涉及到Wamp的一些问题
- 六、结
一、实验环境
Wamp
提取码:1ihb
Navicat
提取码:8ams
二、数据库设计部分
1、新建连接
主机或IP地址为localhost或者127.0.0.1;用户名为root;密码为空;
2、新建数据库
数据库名为photosite;选择字符集为utf-8;
3、创建表
user表与administrator表
messageboard表
三、实现功能
下面的代码都已删减,不能直接使用
1、登录
(1)连接数据库
利用mysqli_connect函数连接数据库;
$host ='127.0.0.1';
$user ='root';
$pwd ='';
$dbname = 'photosite';
$con=mysqli_connect($host, $user, $pwd, $dbname);
if ($con->connect_errno!=0){die('数据库链接失败');exit;
}
mysqli_set_charset($con,"utf8"); // 设置格式为utf-8
(2)判断是否登录成功
将查询结果的内容存入result中,再用while循环将结果分别赋值给对应的数组;如果用户名密码均匹配则提示登录成功,跳转至home.html页面
$username = $_POST["name"]; // 获取html中的用户名
$password = $_POST["password"]; // 获取html中的密码$dbusername = array(); // 利用array函数创建数组
$dbpassword = array();
$sql = "SELECT * FROM user";
$result = mysqli_query($con,$sql); // 执行查询语句
while($row = mysqli_fetch_array($result)){ //while循环将$result中的结果提取$dbusername[] = $row['name'];$dbpassword[] = $row['pwd'];
}
$length = count($dbusername); // 计算数组的长度
for($i = 0;$i < $length;$i++){if($username == $dbusername[$i]){if($password == $dbpassword[$i]){<script type="text/javascript">alert("登陆成功");document.location.href="/KeChengSheJi/home.html";</script>}}
}
2、注册
(1)利用mysqli_connect函数连接数据库
(2)注册
- 与登录相同,从user表中提取用户名,再将输入的用户名与user表中的用户名进行比较,若相同则提示“此用户名已被注册”;
- 如果flag为0即用户名有效,创建插入语句,将用户名、密码插入user表中;
while($row = mysqli_fetch_array($result)){ //while循环将$result中的结果找出来$dbusername[] = $row['name'];
}
$flag = 0; //判断用户名是否被注册
$length = count($dbusername);
for($i = 0;$i < $length;$i++){if($username == $dbusername[$i]){alert("此用户名已被注册");window.location.href="register.html";flag = 1; // 代表注册失败}
}
if($flag == 0){$sql2 = "INSERT INTO user(name,pwd) VALUES ('$username','$password')";$is = $con->query($sql2);if($is == true){alert("注册成功");}
}
3、修改密码
(1)与登录一致,从数据库中获取用户名、密码;
(2)将输入的用户名与数据库中的用户名进行比较,若未找到报错;若找到则保存用户名的位置,据此找到对应的密码,并将flag置1;
for($i = 0;$i < $length;$i++){if($username != $dbusername[$i]){if($i == $length-1){alert("用户名不存在");}}else {$mima = $i; //对应用户的密码$flag = 1;break;}
(3)若flag等于1且密码正确,则创建更新语句,再用query函数更新数据库;
if($flag){if($password != $dbpassword[$mima]){alert("原密码错误");} else {$up_sql = "UPDATE user SET pwd = '$newpassword' WHERE name = '$dbusername[$i]'";$is = $con->query($up_sql);if($is == true){alert("修改成功");}}
}
4、删除用户及留言
会删除数据库中所有昵称为想删除的昵称的留言
(1)连接数据库
(2)获取messageboard表中的内容,将其中的昵称提取,与输入的昵称进行比较,若未找到匹配项则报错;若找到,创建删除语句并用query方法执行;
while($row = mysqli_fetch_array($result)){$username[] = $row['name'];
}
$length = count($username);
for($i = 0;$i < $length;$i++){if($name != $username[$i]){if($i == $length-1)alert("不存在此留言昵称");} else {$del_sql = "DELETE FROM messageboard WHERE name = '$name'";$del = $con->query($del_sql);if($del == true)alert("删除留言成功");elsealert("删除留言失败");}
}
5、留言板
显示留言板内容:
(1)连接数据库
(2)从messgeboard表中按id降序获取所有留言信息,用array方法创建arrays数组,利用foreach循环将所有内容输出;
$sql = "SELECT * FROM messageboard ORDER BY id DESC";
$result = mysqli_query($con,$sql);$rows = array();
while($row = mysqli_fetch_array($result)){$rows[] = $row;
}
foreach ($rows as $row) {<span class='user'><?php echo $row['name'];?></span><span class='time'><?php echo date('Y-m-d H:i:s',$row['intime']);?></span><span> <?php echo $row['content'];?></span>
}
留言:
(1)连接数据库
(2)用time函数获取当前时间,如果留言内容与留言昵称均不为空,则创建插入语句,将昵称、内容和时间插入messageborad表中;
$time = time();
if ($name != ''&&$content != '') {$sql2 ="INSERT INTO messageboard (name,content,intime) VALUES ('{$name}','{$content}','{$time}')";$is = $con->query($sql2);if($is == true)alert("留言成功");elsealert("留言失败");
}
四、效果图
1、首页
2、登录界面
3、注册界面
4、留言板界面
五、涉及到Wamp的一些问题
需要三个服务都开启(Apache、PHP、MySQL),wamp才能正常运行
- 在浏览器输入127.0.0.1查看是否正常
- 查看各个端口是否被占用
右键图标,选择Tools,测试80端口,3306端口
Could not execute item (internal error) [Exception] Could not perform service action:服务尚未启动
六、结
咳,好看的界面都是龙哥写的,偶都是登录、注册、留言板。。
后台都是php写的,临时学的php,各种混搭,惨不忍睹。。。