我的第一个PHP留言板

一共写了四个文件,都很简单。
第一个是主页,也就是留言板主界面。gbook.php。

<?php
//包含链接数据库的文件
include('connect.php');
$sql = "SELECT * FROM msg ORDER BY id DESC";

//query 返回了一个存储了以上 SQL语句 指定数据的对象。
$mysqli_result = $db->query($sql);

//如果 query 返回了一个 fasle 说明 SQL 语句失败了
if ($mysqli_result === false){
	echo "SQL错误";
	exit;
}
/*
fetch_array 是 query 返回的对象里自带的方法,调用它会产生一个存储了一段数据的数组。
首次调用 fetch_array 显示最新的一条记录,重复调用依次显示后面的记录,如果没有记录可以显示,则返回 NULL。
下面用了一个循环,每循环一次就会把 fetch_array 产生的数组保存在 $rows[] 数组中。
这样 $rows 就是一个二维数组,每个分支都是一段数据。
*/
while ($row = $mysqli_result->fetch_array( MYSQL_ASSOC )){
	$rows[] = $row;
}
?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8"/>
		<title>留言本</title>
		<style>
		.wrap{
			width:600px;
			margin:0px auto;
		}
		.add{overflow: hidden;}
		.add .content{
			width:598px;
			margin:0;
			padding:0;
		}
		.add .user{
			float:left;
		}
		.add .btn{
			float:right;
		}

		.msg{margin:20px 0px;background: #ccc;padding:5px;}
		.msg .info{overflow: hidden;}
		.msg .user{float:left;color:blue;}
		.msg .time{float:right;color:#999;}
		.msg .content{width:100%;}
		</style>
	</head>
	<body>
		<div class='wrap'>
			<!-- 发表留言 -->
			<div class='add'>
			//把这个表单提交的内容发送给 save.php 文件,用 POST 方法。
			<form action="save.php" method="post">
				<textarea name='content' class='content' cols='50' rows='5'></textarea>
				<input name='user' class='user' type='text' />
				<input class='btn' type='submit' value='发表留言'/>
			</form>
			</div>
/*
		foreach 遍历数组函数。
		foreach 的可选参数 as $value 。意思就是把当前数组的变量赋值给 as 后边的那个变量。
		这里的意思就是把 $rows 这个数组目前指针所指向的值赋值给 $row。
		然后在依次用 HTML 和 CSS 形式来显示数组的数据。
*/
			<?php
			foreach($rows as $row){
				?>
				<!-- 查看留言 -->
				<div class='msg'>
					<div class='info'>
					//这是用户名
						<span class='user'><?php echo $row['user'];?></span>
					//这是留言时间
						<span class='time'><?php echo date("Y-m-d H:i:s",$row['intime'])?></span>
					</div>
					//这是留言内容
					<div class='content'>
						<?php echo $row['content'];?>
					</div>
				</div>		
			<?php
			}
			?>
		</div>
	</body>
</html>

这是我的第二个文件,用来检测用户输入数据是否违法,并把数据发送到数据库然后跳转。save.php

<?php
//定义了一个用来查用户是否有违法昵称的类。
include('input.php');
//数据库链接
include('connect.php');
//POST 是一个数组,把传来每个输入框的数据按关联键(关联键名为输入框的 name 属性)保存,用变量把他数据取出来。
$content = $_POST['content'];
$user = $_POST['user'];


$input = new input();


//调用类方法,检查留言内容
$is = $input->post( $content );
if( $is == false ){
	die('留言内容的数据不正确');
}

//调用函数,检查留言人
$is = $input->post( $user );
if( $is == false ){
	die('留言人的数据不正确');
}
var_dump( $content, $user );
/*
获取当前时间,
*/
$time = time();
$sql = "INSERT INTO msg (content,user,intime) value ('{$content}','{$user}','{$time}')";
$is = $db->query($sql);
if($is === false){
	echo "你的留言内容没有保存成功";
	exit;
}
//跳转回留言板主界面。
header("location:gbook.php");
?>

第三个文件,用于链接数据库,connect.php

<?php
//预先定义数据库链接参数
$host = '127.0.0.1';
$user = 'root';
$pwd  = '';
$dbname = 'php10';

$db = new mysqli( $host, $user,$pwd,$dbname);
if ($db->connect_errno <> 0){
	die('链接数据库失败');
}
//设定数据库数据传递的编码
$db->query("SET NAMES UTF8");
?>

第四个文件,用于添加敏感关键字,input.php

<?php
class input{

	//定义函数,对数据进行检查
	function post( $content ){
		if( $content == '' ){
			return false;
		}

		//禁止使用的用户名
		$n = [ '张三', '李四', '王五' ];

		foreach( $n as $name ){
			if( $content == $name ){
				return false;
			}
		}

		return true;
	}
}

以上,我根据视频学习的 PHP 留言板就结束了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值