Web可爱风格投票系统(带后台管理)

可爱风格的Web匿名投票系统

匿名投票,部署简单(支持虚拟主机),AI生成

  • 前台:匿名投票、多问题展示、限制多选数量
  • 后台:管理投票问题 / 选项、修改票数、设置多选数、查看 / 删除投票记录
  • 数据库:3 张数据表(问题、选项、投票记录),每条投票记录存储 IP + 选项
  • 无防刷票、无登录,纯轻量化实现
  • PHP+MySQL

Web可爱风格投票系统(带后台管理)

Web可爱风格投票系统(带后台管理)

一、项目结构

项目目录/
├─ config.php    # 数据库配置
├─ index.php     # 前台投票页面
├─ admin.php     # 后台管理页面
└─ 数据库.sql    # 数据表创建语句

二、MySQL 数据库创建

新建数据库(如 toupiao),执行以下 SQL 创建 3 张数据表:
 -- 投票问题表 
CREATE TABLE `vote_questions` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `title` varchar(255) NOT NULL COMMENT '投票问题',
 `max_select` tinyint(2) NOT NULL DEFAULT 1 COMMENT '最多可选数量',
 `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 -- 投票选项表
CREATE TABLE `vote_options` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `qid` int(11) NOT NULL COMMENT '关联问题ID',
 `content` varchar(255) NOT NULL COMMENT '选项内容',
 `votes` int(11) NOT NULL DEFAULT 0 COMMENT '票数',
 PRIMARY KEY (`id`),
 KEY `qid` (`qid`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 -- 投票记录表(核心:存储IP和投票选项) 
CREATE TABLE `vote_records` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `ip` varchar(50) NOT NULL COMMENT '用户IP',
 `qid` int(11) NOT NULL COMMENT '投票问题ID',
 `option_ids` varchar(255) NOT NULL COMMENT '投票选项ID(逗号分隔)',
 `vote_time` datetime DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`),
 KEY `qid` (`qid`),
 KEY `ip` (`ip`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

三、数据库配置文件(config.php)

修改数据库账号密码为你本地的信息:
<?php
session_start(); // 初始化会话(用于后台登录)

// 数据库配置
$host = 'localhost';
$dbname = '#'; // 数据库名
$username = '#'; // 数据库账号
$password = '#'; // 数据库密码

// 🔴 后台登录密码(自行修改这里的密码)
define('ADMIN_PASSWORD', '#');

// PDO连接数据库
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("数据库连接失败:" . $e->getMessage());
}

// 获取用户IP
function getClientIp() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
return $_SERVER['REMOTE_ADDR'];
}
}
?>

四、前台投票页面(index.php)

匿名用户访问,支持多问题同时投票、限制多选数量,自动记录 IP 和投票记录:
<?php
require 'config.php';

// 处理投票提交
if ($_POST['action'] == 'vote') {
$ip = getClientIp();
$votes = $_POST['vote'] ?? []; // 格式:[问题ID => [选项ID1,选项ID2]]

foreach ($votes as $qid => $option_ids) {
if (empty($option_ids)) continue;
$option_str = implode(',', $option_ids);

// 1. 插入投票记录
$stmt = $pdo->prepare("INSERT INTO vote_records (ip, qid, option_ids) VALUES (?, ?, ?)");
$stmt->execute([$ip, $qid, $option_str]);

// 2. 更新选项票数
foreach ($option_ids as $oid) {
$stmt = $pdo->prepare("UPDATE vote_options SET votes = votes + 1 WHERE id = ?");
$stmt->execute([$oid]);
}
}
// 重定向防刷新重复投票
header('Location: index.php?success=1');
exit;
}

// 获取提示信息
$success = $_GET['success'] ?? 0;

// 获取所有投票问题
$questions = $pdo->query("SELECT * FROM vote_questions ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🍬 璃苏匿名投票系统</title>
<style>
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family: "微软雅黑", "PingFang SC", sans-serif;
}
body{
padding:30px 15px;
background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
min-height: 100vh;
}
.container{
max-width:700px;
margin:0 auto;
background:#ffffff;
padding:35px;
border-radius:25px;
box-shadow: 0 8px 25px rgba(187, 193, 199, 0.2);
border: 1px solid #f8f9fa;
}
/* 标题样式 */
.main-title{
text-align:center;
margin-bottom:30px;
color: #ff8fab;
font-size: 28px;
font-weight: bold;
text-shadow: 1px 1px 3px rgba(255,143,171,0.15);
}
/* 投票成功提示 */
.success-tip{
background: #d1fae5;
color: #065f46;
padding:12px 20px;
border-radius:15px;
margin-bottom:25px;
text-align:center;
font-weight: bold;
box-shadow: 0 2px 8px rgba(17, 205, 122, 0.15);
}
/* 投票卡片 */
.vote-item{
margin-bottom:25px;
padding:25px;
background: #fef7ff;
border-radius:20px;
border: 1px solid #f3e5ff;
transition: all 0.3s ease;
}
.vote-item:hover{
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(210, 180, 225, 0.15);
}
/* 问题标题 */
.vote-title{
font-size:19px;
font-weight:bold;
margin-bottom:20px;
color: #7c3aed;
padding-bottom: 10px;
border-bottom: 2px dashed #e9d5ff;
}
.vote-options{
margin-left:5px;
}
/* 选项样式 */
.option-item{
margin:12px 0;
display: flex;
align-items: center;
font-size: 16px;
color: #555;
}
/* 美化复选框 */
input[type="checkbox"] {
width: 18px;
height: 18px;
margin-right: 12px;
accent-color: #ff8fab;
cursor: pointer;
}
/* 提交按钮 */
.submit-btn{
background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);
color:white;
padding:12px 30px;
border:none;
border-radius:30px;
cursor:pointer;
font-size:17px;
font-weight: bold;
width: 100%;
margin-top: 10px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255,154,158,0.3);
}
.submit-btn:hover{
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255,154,158,0.4);
}
/* 空数据提示 */
.empty-tip{
text-align:center;
color:#9ca3af;
padding: 30px 0;
font-size: 16px;
}
</style>
</head>
<body>
<div class="container">
<h1 class="main-title">🍬 璃苏匿名投票系统</h1>

<!-- 投票成功提示 -->
<?php if($success == 1): ?>
<div class="success-tip">✅ 投票成功,感谢您的建议!</div>
<?php endif; ?>

<form method="post" id="voteForm">
<input type="hidden" name="action" value="vote">

<?php foreach($questions as $q): ?>
<?php
$stmt = $pdo->prepare("SELECT * FROM vote_options WHERE qid = ?");
$stmt->execute([$q['id']]);
$options = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<div class="vote-item">
<div class="vote-title">
📝 <?php echo $q['title']; ?>(最多选 <?php echo $q['max_select']; ?> 项)
</div>
<div class="vote-options">
<?php foreach($options as $opt): ?>
<div class="option-item">
<input type="checkbox" name="vote[<?php echo $q['id']; ?>][]"
value="<?php echo $opt['id']; ?>"
data-max="<?php echo $q['max_select']; ?>">
<?php echo $opt['content']; ?>
<span style="margin-left:8px;color:#ff8fab;font-weight:bold;">(💌 <?php echo $opt['votes']; ?>票)</span>
</div>
<?php endforeach; ?>
</div>
</div>
<?php endforeach; ?>

<?php if(count($questions) > 0): ?>
<button type="submit" class="submit-btn">✨ 提交投票</button>
<?php else: ?>
<p class="empty-tip">暂无投票活动哦~</p>
<?php endif; ?>
</form>
</div>

<script>
// 限制多选数量
document.querySelectorAll('input[type="checkbox"]').forEach(checkbox => {
checkbox.addEventListener('change', function(){
const max = parseInt(this.getAttribute('data-max'));
const name = this.name;
const checked = document.querySelectorAll(`input[name="${name}"]:checked`);

if(checked.length > max){
alert('🥺 最多只能选 '+max+' 项哦');
this.checked = false;
}
});
});
</script>
</body>
</html>

五、后台管理页面(admin.php)

直接管理:投票问题、选项、票数、投票记录,支持增删改查:
<?php
require 'config.php';

// 处理退出登录
if ($_GET['action'] == 'logout') {
unset($_SESSION['admin_login']);
header('Location: admin.php');
exit;
}

// 处理密码提交
if ($_POST['action'] == 'login') {
$input_pwd = $_POST['password'];
if ($input_pwd === ADMIN_PASSWORD) {
$_SESSION['admin_login'] = true;
} else {
$error = '密码错误!';
}
}

// 未登录则显示登录表单
if (!isset($_SESSION['admin_login'])) {
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🔐 后台登录</title>
<style>
*{margin:0;padding:0;box-sizing:border-box;font-family: "微软雅黑", "PingFang SC", sans-serif;}
body{background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);display:flex;justify-content:center;align-items:center;height:100vh;padding:15px;}
.login-box{width:380px;background:white;padding:35px;border-radius:25px;box-shadow:0 8px 25px rgba(187, 193, 199, 0.3);border:1px solid #f8f9fa;}
.login-box h2{text-align:center;margin-bottom:25px;color:#ff8fab;font-weight:bold;}
.form-item{margin:18px 0;}
input{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:15px;outline:none;font-size:15px;}
button{width:100%;padding:12px;background:linear-gradient(135deg, #ff9a9e, #fecfef);color:white;border:none;border-radius:15px;cursor:pointer;font-size:16px;font-weight:bold;transition:0.3s;}
button:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(255,154,158,0.3);}
.error{color:#f56c6c;text-align:center;margin-bottom:15px;font-weight:bold;}
</style>
</head>
<body>
<div class="login-box">
<h2>🔐 投票后台登录</h2>
<?php if(isset($error)) echo '<div class="error">'.$error.'</div>'; ?>
<form method="post">
<input type="hidden" name="action" value="login">
<div class="form-item">
<input type="password" name="password" placeholder="请输入登录密码" required>
</div>
<div class="form-item">
<button type="submit">登录</button>
</div>
</form>
</div>
</body>
</html>
<?php
exit;
}

// 一键保存所有修改
if ($_POST['action'] == 'save_all') {
// 保存所有问题
if(!empty($_POST['question'])){
foreach($_POST['question'] as $qid => $q){
$stmt = $pdo->prepare("UPDATE vote_questions SET title=?, max_select=? WHERE id=?");
$stmt->execute([$q['title'], $q['max_select'], $qid]);
}
}
// 保存所有选项
if(!empty($_POST['option'])){
foreach($_POST['option'] as $oid => $o){
$stmt = $pdo->prepare("UPDATE vote_options SET content=?, votes=? WHERE id=?");
$stmt->execute([$o['content'], $o['votes'], $oid]);
}
}
header('Location: admin.php?success=1');
exit;
}

// 新增投票问题
if ($_POST['action'] == 'add_question') {
$stmt = $pdo->prepare("INSERT INTO vote_questions (title, max_select) VALUES (?, ?)");
$stmt->execute([$_POST['title'], $_POST['max_select']]);
header('Location: admin.php');
exit;
}

// 单独修改问题
if ($_POST['action'] == 'edit_question') {
$stmt = $pdo->prepare("UPDATE vote_questions SET title=?, max_select=? WHERE id=?");
$stmt->execute([$_POST['title'], $_POST['max_select'], $_POST['id']]);
header('Location: admin.php');
exit;
}

// 删除问题
if ($_GET['action'] == 'del_question') {
$id = (int)$_GET['id'];
$pdo->exec("DELETE FROM vote_questions WHERE id=$id");
$pdo->exec("DELETE FROM vote_options WHERE qid=$id");
$pdo->exec("DELETE FROM vote_records WHERE qid=$id");
header('Location: admin.php');
exit;
}

// 新增选项
if ($_POST['action'] == 'add_option') {
$stmt = $pdo->prepare("INSERT INTO vote_options (qid, content) VALUES (?, ?)");
$stmt->execute([$_POST['qid'], $_POST['content']]);
header('Location: admin.php');
exit;
}

// 单独修改选项
if ($_POST['action'] == 'edit_option') {
$stmt = $pdo->prepare("UPDATE vote_options SET content=?, votes=? WHERE id=?");
$stmt->execute([$_POST['content'], $_POST['votes'], $_POST['id']]);
header('Location: admin.php');
exit;
}

// 删除选项
if ($_GET['action'] == 'del_option') {
$pdo->exec("DELETE FROM vote_options WHERE id=".(int)$_GET['id']);
header('Location: admin.php');
exit;
}

// 删除投票记录
if ($_GET['action'] == 'del_record') {
$pdo->exec("DELETE FROM vote_records WHERE id=".(int)$_GET['id']);
header('Location: admin.php');
exit;
}

// 获取数据
$questions = $pdo->query("SELECT * FROM vote_questions ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC);
$records = $pdo->query("SELECT r.*, q.title FROM vote_records r LEFT JOIN vote_questions q ON r.qid=q.id ORDER BY r.id DESC")->fetchAll(PDO::FETCH_ASSOC);
$success = $_GET['success'] ?? 0;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🎀 投票后台管理</title>
<style>
*{margin:0;padding:0;box-sizing:border-box;font-family: "微软雅黑", "PingFang SC", sans-serif;}
body{padding:25px 15px;background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);min-height: 100vh;}
.container{max-width:1100px;margin:0 auto;background:#ffffff;padding:35px;border-radius:25px;box-shadow: 0 8px 25px rgba(187, 193, 199, 0.2);border: 1px solid #f8f9fa;}
.main-title{display: flex;justify-content: space-between;align-items: center;margin-bottom:25px;color:#ff8fab;font-weight:bold;font-size: 26px;}
.save-all-btn{background: linear-gradient(135deg, #7c3aed, #a78bfa);padding:10px 20px;border-radius:20px;font-size:15px;}
.logout-btn{background: #9ca3af;padding:10px 20px;border-radius:20px;font-size:15px;margin-left: 10px;}
.success-tip{background: #d1fae5;color: #065f46;padding:12px 20px;border-radius:15px;margin-bottom:25px;text-align:center;font-weight: bold;}
.box{margin-bottom:30px;padding:25px;border-radius:20px;background: #fef7ff;border: 1px solid #f3e5ff;}
.box h2{margin-bottom:20px;color: #7c3aed;font-size: 22px;display: flex;align-items: center;gap: 8px;}
.form-item{margin:15px 0;display: flex;flex-wrap: wrap;gap: 10px;align-items: center;}
input{padding:10px 15px;border:1px solid #e5e7eb;border-radius:15px;outline: none;transition: 0.3s;font-size:15px;}
input:focus{border-color: #ff8fab;box-shadow: 0 0 5px rgba(255,143,171,0.2);}
button{background: linear-gradient(135deg, #ff9a9e, #fecfef);color:white;border:none;border-radius:15px;cursor:pointer;font-weight: bold;transition: all 0.3s ease;padding:8px 15px;font-size:14px;}
button:hover{transform: translateY(-2px);box-shadow: 0 3px 10px rgba(255,154,158,0.25);}
.del-btn{background: linear-gradient(135deg, #f87171, #fca5a5);}
.edit-btn{background: linear-gradient(135deg, #34d399, #6ee7b7);}
table{width:100%;border-collapse:collapse;margin:15px 0;border-radius:15px;overflow: hidden;}
table th,table td{padding:12px 15px;text-align:left;border-bottom:1px solid #f3e5ff;}
table th{background: #e9d5ff;color: #7c3aed;font-weight: bold;}
table tr:hover{background: #f8f0ff;}
.sub-box{margin:20px 0;padding:20px;background: #fff;border-radius:15px;border:1px solid #f3e5ff;}
.sub-box h3{color: #7c3aed;margin-bottom:15px;font-size: 18px;}
</style>
</head>
<body>
<div class="container">
<div class="main-title">
🎀 投票系统后台管理
<div>
<button type="submit" form="saveForm" class="save-all-btn">💾 一键保存所有修改</button>
<a href="?action=logout"><button class="logout-btn">🚪 退出登录</button></a>
</div>
</div>

<?php if($success == 1): ?>
<div class="success-tip">✅ 所有修改已保存成功!</div>
<?php endif; ?>

<!-- 一键保存总表单 -->
<form method="post" id="saveForm">
<input type="hidden" name="action" value="save_all">
</form>

<!-- 投票问题管理 -->
<div class="box">
<h2>📝 投票问题管理</h2>
<form method="post" class="form-item">
<input type="hidden" name="action" value="add_question">
<input type="text" name="title" placeholder="输入投票问题" required>
<input type="number" name="max_select" min="1" value="1" placeholder="最多可选数量" required>
<button type="submit">➕ 新增问题</button>
</form>

<table>
<tr><th>ID</th><th>投票问题</th><th>最多选数</th><th>操作</th></tr>
<?php foreach($questions as $q): ?>
<tr>
<td><?= $q['id'] ?></td>
<td><input type="text" form="saveForm" name="question[<?= $q['id'] ?>][title]" value="<?= $q['title'] ?>" required></td>
<td><input type="number" form="saveForm" name="question[<?= $q['id'] ?>][max_select]" value="<?= $q['max_select'] ?>" min="1" required></td>
<td>
<form method="post" style="display:inline;">
<input type="hidden" name="action" value="edit_question">
<input type="hidden" name="id" value="<?= $q['id'] ?>">
<input type="text" name="title" value="<?= $q['title'] ?>" required>
<input type="number" name="max_select" value="<?= $q['max_select'] ?>" min="1" required>
<button type="submit" class="edit-btn">✏️ 保存</button>
</form>
<a href="?action=del_question&id=<?= $q['id'] ?>" onclick="return confirm('确定删除?')"><button class="del-btn">🗑️ 删除</button></a>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>

<!-- 投票选项管理 -->
<div class="box">
<h2>🎀 投票选项管理</h2>
<?php foreach($questions as $q): ?>
<div class="sub-box">
<h3>📌 <?= $q['title'] ?></h3>
<form method="post" class="form-item">
<input type="hidden" name="action" value="add_option">
<input type="hidden" name="qid" value="<?= $q['id'] ?>">
<input type="text" name="content" placeholder="输入选项内容" required>
<button type="submit">➕ 新增选项</button>
</form>

<?php
$stmt = $pdo->prepare("SELECT * FROM vote_options WHERE qid = ?");
$stmt->execute([$q['id']]);
$options = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<table>
<tr><th>ID</th><th>选项内容</th><th>当前票数</th><th>操作</th></tr>
<?php foreach($options as $opt): ?>
<tr>
<td><?= $opt['id'] ?></td>
<td><input type="text" form="saveForm" name="option[<?= $opt['id'] ?>][content]" value="<?= $opt['content'] ?>" required></td>
<td><input type="number" form="saveForm" name="option[<?= $opt['id'] ?>][votes]" value="<?= $opt['votes'] ?>" min="0" required></td>
<td>
<form method="post" style="display:inline;">
<input type="hidden" name="action" value="edit_option">
<input type="hidden" name="id" value="<?= $opt['id'] ?>">
<input type="text" name="content" value="<?= $opt['content'] ?>" required>
<input type="number" name="votes" value="<?= $opt['votes'] ?>" min="0" required>
<button type="submit" class="edit-btn">✏️ 保存</button>
</form>
<a href="?action=del_option&id=<?= $opt['id'] ?>" onclick="return confirm('确定删除?')"><button class="del-btn">🗑️ 删除</button></a>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>
<?php endforeach; ?>
</div>

<!-- 投票记录管理 -->
<div class="box">
<h2>📊 投票记录管理</h2>
<table>
<tr><th>ID</th><th>用户IP</th><th>投票问题</th><th>选项ID</th><th>投票时间</th><th>操作</th></tr>
<?php foreach($records as $r): ?>
<tr>
<td><?= $r['id'] ?></td>
<td><?= $r['ip'] ?></td>
<td><?= $r['title'] ?? '已删除' ?></td>
<td><?= $r['option_ids'] ?></td>
<td><?= $r['vote_time'] ?></td>
<td><a href="?action=del_record&id=<?= $r['id'] ?>" onclick="return confirm('确定删除?')"><button class="del-btn">🗑️ 删除</button></a></td>
</tr>
<?php endforeach; ?>
</table>
</div>
</div>
</body>
</html>

六、运行使用说明

  1. 环境要求:PHP + MySQL
  2. 部署
    • 新建文件夹放入所有文件
    • 创建数据库并执行 SQL 语句
    • 修改 config.php 中的数据库账号密码
  3. 访问地址
    • 前台投票:http://IP+端口或域名/项目目录/index.php
    • 后台管理:http://IP+端口或域名/项目目录/admin.php
  4. 使用流程
    1. 后台先添加投票问题 → 设置最多选数
    2. 为问题添加投票选项
    3. 前台匿名用户直接勾选投票
    4. 后台可修改选项票数、删除投票记录、管理问题 / 选项

七、核心功能满足

✅ 匿名投票,无需登录

✅ 支持多个投票问题同时展示

✅ 支持多选,后台可设置最大选数

✅ 每条投票记录存储用户 IP + 选项 ID

✅ 后台可增删改查问题、选项、投票记录

✅ 后台可直接修改选项票数

✅ 纯 PHP + 原生 HTML/CSS/JS 实现,无框架依赖

转载请注明出处,本站地址 blog.sz2016.com
文章标题: Web可爱风格投票系统(带后台管理) 作者: 顺仔
本文链接:https://blog.sz2016.com/2026/04/28/webtoupiao/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇