新手学php,试手案例便是留言板。以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视)。
最近学习了php访问MySQL数据库的一些知识,重写了一下留言板,功能比较简单,当学习记录。
1.首先是提交留言的表单guessbook.php,提交至post.php。
用户名
邮箱
2.数据库的连接config.php
$con = mysql_connect("localhost","user","passwd");
if(!$con)
die('Could not connect: ' . mysql_error());
mysql_query("set names utf8"); //以utf8读取数据
mysql_select_db("dbname",$con); //选择数据库
?>
3.对用户留言进行验证post.php
在我们把数据插入数据库时,为了让我们输入的数据在显示时仍然保持最初的形式,就必须对数据进行一些处理。比如转义单引号和双引号,以及转义我们输入的html标签:,空格,
等,如果不转义直接显示,比如js代码,就会直接在你的页面中运行。
这里用到了htmlspecialchars函数,他会将字符串中的html标签转义成对应的html字符,比如 ’
header("content-Type: text/html; charset=utf-8");
include("config.php"); //数据库连接
$name= $_POST['name'];
$email= $_POST['email'];
$patch = $_POST['content']; //获取游客提交信息
if ($name=="" || $email=="") //游客未填写用户名和邮箱处理
{
echo "";
}
else
{
// 对游客留言进行处理
$content = str_replace("","
",htmlspecialchars($patch));
//插入数据库语句
$sql = "insert into content (name,email,content,time) values ('$name','$email','$content',now())";
mysql_query($sql);
//插入成功,返回信息
echo "";
}
?>
4.展示用户留言列表,可在guessbook.php留言表单下面展示。
include("config.php"); //连接数据库
$sql="select * from content"; //数据库查询语句,content为该用户留言的表。
$result = mysql_query($sql,$con);
User | Content | Time |
---|
while ($row=mysql_fetch_array($result)) {
?>
<?php echo $row[1] ?><?php echo nl2br($row[3]) ?> <?php echo $row[4] ?>}
?>
5.基本结果: 经CSS 修饰后的结果如下:
asp防注入安全问题
一.古老的绕验证漏洞虽然古老,依然存在于很多小程序之中,比如一些企业网站的后台,简单谈谈.这个漏洞出现在没有对接受的变量进行过滤,带入数据库判断查询时,造成SQL语句的逻辑问题.例如以下代码存在问题: ...
dede留言板BUG解决
dede留言板刷新后空白BUG解决 DEDE留言板验证码留空或者不正确返回空白页面的解决方法 解决方法如下进入文件/plus/guestbook.php 找到代码ShowMsg("验证码不正 ...
Flask实战-留言板-安装虚拟环境、使用包组织代码
Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...
PHP SQL防注入
过年前后在做一个抽奖的东西,需要用户填写中奖信息,为了防止非法用户对数据库进行入侵神马的,于是写下基本的防注入语句,需要用的可以自己封装成一个function. $str = str_replace( ...
XSS留言板实现
XSS 留言板实现-笔记 预备知识 XSS漏洞 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS ...
AngularJs学习笔记(制作留言板)