网站课设——壁纸网站+留言板(PHP+wamp)

本文介绍了一个基于PHP的壁纸网站留言板系统的实现,包括登录、注册、修改密码、删除用户留言及留言板功能。系统采用Wamp环境,使用mysqli_connect函数连接数据库,实现用户交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

壁纸网站+留言板源文件

一、实验环境

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("删除留言成功");
                else
                	alert("删除留言失败");
	}
}
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>&nbsp;&nbsp;<?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("留言成功");
	else
		alert("留言失败");
}

四、效果图

1、首页

在这里插入图片描述

2、登录界面

在这里插入图片描述
在这里插入图片描述

3、注册界面

在这里插入图片描述

4、留言板界面

在这里插入图片描述

五、涉及到Wamp的一些问题

在这里插入图片描述
需要三个服务都开启(Apache、PHP、MySQL),wamp才能正常运行

  1. 在浏览器输入127.0.0.1查看是否正常
    在这里插入图片描述
  2. 查看各个端口是否被占用
    右键图标,选择Tools,测试80端口,3306端口
    在这里插入图片描述

Could not execute item (internal error) [Exception] Could not perform service action:服务尚未启动

六、结

咳,好看的界面都是龙哥写的,偶都是登录、注册、留言板。。
后台都是php写的,临时学的php,各种混搭,惨不忍睹。。。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值