[网络安全学习篇附]:手把手教你使用PHP语言搭建简单的论坛(附源码)

Cytheria ·
更新时间:2024-09-21
· 725 次阅读

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!

往期博客:

[网络安全学习篇38]:基础环境搭建

[网络安全学习篇39]:HTML标签基础 常用的标签 表格

[网络安全学习篇40]:HTML表单 和 iframe

[网络安全学习篇41]:HTMLCSS 

[网络安全学习篇42]:靶场环境搭建(ubuntu系统安装优化及vulhub安装)

[网络安全学习篇43]:PHP基础+变量 运算符 流程控制语句

[网路安全学习篇44]:PHP 函数

[网络安全学习篇45]:PHP 数组 

[网络安全学习篇46]:PHP COOKIE 和 SESSION

[网络安全学习篇47]:PHP与Mysql交互 注册功能实现 PHP个人中心 留言实现

目录

刹那芳华BBS论坛

创建数据库

测试:

文件目录结构

源码:

刹那芳华BBS论坛

源码我以上传至网盘:

PHP源码文件资源      提取码:iz1c

创建数据库

进入我们phpstudy自带的MySQL数据库

创建成功

创建第二张表用于存放用户发表的信息

创建成功

测试:

进入论坛首页

点击进入会员中心

进行注册

填写信息,点击注册

点击修改头像

选择图片,提交

返回个人中心,头像修改成功

返回论坛首页,留言

在论坛首页生成信息,点击标题即可查看

回到个人中心,点击注销

注销成功

这里选择登录

登录成功

重新注册一个test用户,登录,看到了GGG用户的留言

测试成功

文件目录结构

源码:

cnfhbbs/index.php   论坛首页

首页--刹那芳华

刹那芳华BBS 论坛

<?php if(isset($_COOKIE['name'])){ echo "欢迎您,".$_COOKIE['name'].""; }else{ echo "会员中心"; } echo "| 欢迎留言"; echo "
"; $sql="select * from messages"; if($results=mysqli_query($link,$sql)){ if(mysqli_num_rows($results)>0){ echo ""; echo ""; while($result=mysqli_fetch_assoc($results)){ //var_dump($result); echo ""; } echo "
IDTITLEAUTHOR
{$result['id']} {$result['title']}{$result['uname']}
"; }else{ echo "暂无留言内容"; } }else{ echo mysqli_error($link); } ?>

cnfhbbs/addCont.php   论坛提交留言

刹那芳华BBS 论坛

<?php if(isset($_COOKIE['name'])){ $html =<<<HTML 标题:
内容:
HTML; echo $html."
"; if(isset($_POST['userSubmit']) && isset($_POST['userTitle'])){ $userName=$_COOKIE['name']; $title = mysqli_real_escape_string($link,$_POST['userTitle']); $cont = mysqli_real_escape_string($link,$_POST['userCont']); $sql = "INSERT INTO `messages`(`uname`, `title`, `content`) VALUES ('".$userName."', '".$title."','".$cont."')"; if($results = mysqli_query($link,$sql)){ echo "留言成功,返回首页"; }else{ mysqli_close($link); } }else{ echo "请提交"; } }else{ echo "您还未登录,请返回个人中心"; } ?>

cnfhbbs/showmsg.php 查看论坛留言

刹那芳华BBS 论坛

<?php include "./inc/dblink.inc.php"; if(isset($_GET['id'])){ $id = $_GET['id']; $sql = "select * from messages where id =".$id; //echo $sql; if($results = mysqli_query($link,$sql)){ $result=mysqli_fetch_assoc($results); echo $result['uname'].":".$result['title']."
"; echo $result['content']; }else{ echo mysqli_error($link); } }else{ echo "id Error!"; } mysqli_close($link); ?>

cnfhbbs/inc/dblink.inc.php 连接数据库

cnfhbbs/member/index.php 论坛个人中心首页

首页--个人中心

刹那芳华BBS 论坛

0){ $result = mysqli_fetch_assoc($results); echo "
"; echo "欢迎您,".$result['name']."注销"; echo "
"; echo "您的头像是"; echo "修改头像"; echo "
"; echo "账户余额:".$result['money']."请联系管理员"; }else{ setcookie('name',$_COOKIE['name'],time()-3600,'/PHP/cnfhbbs'); die("该用户不存在,请注册或者返回首页"); } }else{ die(mysqli_error($link)); } }else{ echo "注册"; echo "
"; echo "登录"; } ?>

cnfhbbs/member/addUser.php 向数据库中添加新用户

<?php //var_dump($_POST); //echo "
"; if(isset($_POST['userSubmit'])){ $userName=$_POST['userName']; $userPass1=$_POST['userPass1']; $userPass2=$_POST['userPass2']; if( isset($userName) && isset($userPass1) && isset($userPass2) && $userPass1 === $userPass2 ){ $sql = "insert into users(name,password) values('".$userName."','".md5($userPass1)."')"; //echo $sql; if(!mysqli_query($link,$sql)){ die("sql语句有误"); }else{ echo "注册成功,返回个人中心"; setcookie("name",$userName,time()+3600,'/'); } }else{ echo "注册信息有误,请重新注册"; } }else{ header("Location:./register.php");//重定向 } ?>

cnfhbbs/member/login.php 用户登录页面

0){ setcookie('name',$userName,time()+3600*24,'/'); echo "登录成功,返回个人中心"; }else{ echo "用户名或密码错误,请重新登录"; } }else{ die(mysql_error($link)); } }else{ $html=<<<HTML 用户名:
密码:
HTML; echo $html; } ?>

cnfhbbs/member/logout.php 用户注销

<?php if(setcookie('name',$_COOKIE['name'],time()-3600,'/')){ echo "Logout!返回个人中心"; }else{ die("Error!"); } ?>

cnfhbbs/member/register 用户注册

注册--刹那芳华

刹那芳华BBS 论坛

用户名:
密码:
确认密码:
function fm(){ var ps1=document.getElementById('pas1'); var ps2=document.getElementById('pas2'); if(ps1.value != ps2.value){ alert("两次密码输入不一致,请重新输入"); ps1.value=""; ps2.value=""; } }

cnfhbbs/member/update.php

<?php if(isset($_POST['userSubmit'])){ $userName = $_COOKIE['name']; $tmp_path = $_FILES['up']['tmp_name']; //echo $tmp_path; $path = ".\\image\\".$_FILES['up']['name']; //echo $path; //echo "
"; if(move_uploaded_file($tmp_path,$path)){ $path = mysqli_real_escape_string($link,$path); $sql = "update users set photo='".$path."' where name='".$userName."'"; //echo $sql; if(mysqli_query($link,$sql)){ echo "图片上传成功,返回个人中心"; }else{ die(mysqli_error($link)); } }else{ echo "图片上传失败!"; } }else{ $html=<<<HTML
HTML; echo $html; } ?>

 参考文献:

千峰网络信息安全开源课程


作者:Beglage



网络安全 源码 学习 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号