简单表白墙的实现

表白墙主要功能包括:发布以及评论。

数据库结构

数据表love
love
数据表comment
comment

首页

公共函数文件 tool.php

<?php
function get($name){
    return isset($_GET)?$_GET['id']:"";
}
function post($name){
    return isset($_POST)?$_POST['content']:"";
}

function conn(){
    //数据库驱动类型:host=主机名;dbname=数据库
    $dns = "mysql:host=localhost;dbname=noxue";
    //连接字符串,账号,密码
    return new PDO($dns,"root","root");
}

首页 index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表白墙</title>
    <style type="text/css">
        .item{
            background: #dddddd;
            margin: 20px;
        }
        .item p+p{
            color: #999999;
        }
    </style>
</head>
<body>
<a href="./love.html">假装发一个表白</a>
<?php
require_once "./tool.php";

$db=conn();
$sql='select * from love';
$res = $db->query($sql);
foreach ($res as $row){
    ?>
    <div class="item">
        <p><?php
            echo substr($row['content'],0,20);
            echo "...<a href='./content.php?id=".$row['id']."'>详细内容</a>"?></p>
        <p><?=$row['created_at']; ?></p>
    </div>
    <?php
}
?>
</body>
</html>

发表功能

love.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>发布表白</title>
</head>
<body>
<form action="love.php" method="post">
    <p>
        <textarea name="content" id="" cols="30" rows="10" placeholder="请输入表白信息"></textarea>
    </p>
    <p>
        <input type="submit" value="发布表白">
    </p>
</form>
</body>
</html>

love.php

<?php
require_once "./tool.php";
//获取数据库连接
$content = post('content');
$sql = 'insert into love(content) VALUES("'.$content.'")';
echo $sql;
$db=conn();
//执行查询操作
$count=$db->exec($sql);
echo $count;

$db=null;
//跳转到首页
header('Location: index.php');

详细内容

content.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表白内容</title>
    <style type="text/css">

    </style>
</head>
<body>
<?php
require_once './tool.php';
$id=get('id');

$db=conn();
$sql = 'select * from love WHERE id='.$id;
$res = $db->query($sql);
$love=null;
foreach($res as $row){
    $love=$row;
    break;
}
//print_r($love);
?>
<div class="content">
    <p><?=$love['created_at']?></p>
    <p><?=$love['content']?></p>
</div>
<form action="comment.php" method="post">
    <input type="hidden"name="id" value="<?=$love['id']?>">
    <p><textarea name="content" id="" cols="30" rows="10"></textarea></p>
    <p><input type="submit" value="发布评论"></p>
</form>
<?php
$sql='select * from comment WHERE love_id='.$id;
$res= $db->query($sql);
foreach($res as $row){
    ?>
    <div class="comment-item">
        <p><?=$row['created_at']?></p>
        <p><?=$row['content']?></p>
    </div>
<?php
}

?>
</body>
</html>

发表评论功能

comment.php

<?php
require_once 'tool.php';

$id = isset($_POST)?$_POST['id']:"";
$content = post('content');

$sql = 'insert into comment(love_id,content,created_at) VALUES ('.$id.',"'.$content.'",now())';
echo $sql;
$db = conn();
$count=$db->exec($sql);
header("Location: content.php?id=".$id);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值