从零开始学安全(二十三)●用PHP编写留言板
<?php include("test.php"); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type=text/html;charset=utf-8"/> <title>留言板</title> <link href="NewFile" rel="SHORTCUT ICON"> </head> <body> <a href="select.php">查看留言</a> <form action="add.php" method="post"> 用户 <input type="text" size="10" name="user" /> <br/> 标题 <input type="text" name="title"><br/> 内容 :<textarea name="content"> </textarea><br/> <input type="submit" name="submit" value="发送" > </form> <table class="imagetable"> <tr> <th>用户</th> <th>姓名</th> <th>内容</th> <th>时间</th> <th>操作</th> </tr> <?php $sql="select * from msg order by id desc"; $result= $conn->query($sql); if ($result->num_rows > 0) { while($row=$result->fetch_assoc()) { echo " <tr><td>".$row["user"]."</td><td>".$row["tile"]."</td><td>".$row["content"]."</td><td>".$row["lastdate"]."</td> <td><a href='del.php?id=".$row["id"]."'>删除</a></td></tr>"; } } else { echo "0 结果"; } ?> </table> </body> </html>
主页面
<?php //$sqlconne= mysql_connect("localhost","root","root","bbs"); //mysql_query("set names 'utf8'");//使用utf-8编码 // 创建连接 $conn = new mysqli("localhost","root", "root", "bbs"); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ?>
服务器连接页面
<?php include("test.php"); $user=$_POST['user']; $title=$_POST['title']; $content=$_POST['content']; if ($_POST['submit']) { $sql="insert into msg values('','$user','$title','$content',now())"; echo '<meta http-equiv="Content-type=text/html;charset=utf-8"/>'; if ($conn->query($sql) === TRUE) { echo "<script>alert('发布成功');location.href='index.php';</script>"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } ?>
添加留言功能
<?php include("test.php"); $user=$_GET['id']; $sql="delete from msg where id=".$user; echo '<meta http-equiv="Content-type=text/html;charset=utf-8"/>'; if ($conn->query($sql) === TRUE) { echo "<script>alert('删除成功');location.href='index.php';</script>"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } ?>
删除留言功能
从零开始学安全(二十三)●用PHP编写留言板的更多相关文章
- 从零开始学MySQL(二)
鉴于上节篇幅以安装为主,因此对于调用mysql所需要使用的“命令”只是略微提及.随之而来就会带给读者诸多不解了,因为你会思考,这串长长的字符到底有什么特殊的含义呢?聪明的你可能早就抱着好奇心去“摆渡” ...
- Java从零开始学十二(构造方法)
一.构造方法 构造方法的主要目的是为类中的属性初始化 二.构造方法的定义格式 class 类名称{ 访问权限 类名称(类型1 参数1,类型2 参数2,…){ 程序语句 ; … // 构造方法没有 ...
- 从零开始学JavaScript二(基本概念)
基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的 ...
- 从零开始学算法---二叉平衡树(AVL树)
先来了解一些基本概念: 1)什么是二叉平衡树? 之前我们了解过二叉查找树,我们说通常来讲, 对于一棵有n个节点的二叉查找树,查询一个节点的时间复杂度为log以2为底的N的对数. 通常来讲是这样的, 但 ...
- 从零开始学Linux[二]:常用操作:用户组、进程、网络、ssh
摘要:Linux基础学习:创建用户组和用户.软件包管理.磁盘管理.进程管理.前后台进程的切换.网络配置.浏览网页.远程登录ssh 第一节,主要介绍一些简单命令,这节介绍一些日常操作. 1.创建用户组和 ...
- 从零开始学安全(四十三)●Wireshark分析ICMP(IP)协议
存活时间与IP分片 这里我们首先来研究一下关于IP协议的两个非常重要的概念:存活时间与IP分片.存活时间(TTL,Time to Live)用于定义数据包的生存周期,也就是在该数据包被丢弃之前,所能够 ...
- 从零开始学安全(三十三)●Ununtu16 LMAP 环境搭建
sudo apt-get update # 获取最新资源包 sudo apt-get upgrade # 本机软件全部更新 sudo apt-get dist-upgrade # 本机系统软件更新 安 ...
- 从零开始学Python 二
上一章我们已经安装好了Python环境,并且写出了第一个Python程序.下面我们接着继续学习.首先,来分析下上一章我们写的代码. 我们最初的目的是为了可以输出一串有意义的文字,最终选择了英文语句“h ...
- 从零开始学安全(二十七)●利用Nmap对防火墙,IDS,IPS 进行欺骗
先介绍什么是防火墙 ids 并联 ips 串联 来看我们nmap 命令
随机推荐
- GC算法基础
寻找垃圾对象的算法:1. 引用计数(无法处理循环引用) 2. 根寻法(被广泛引用在gc算法中) 清理垃圾的算法: 1. 标记复制 2. 标记清理 3. 标记整理 分代算法的好处: 1. 分代处理, ...
- IDEA添加项目为library
1.如果要作为library的项目没有被IDEA编译就先把项目放在IDEA里面编译一下,因为这样后面导入module会方便一点.下面直接附上步骤 2.假设你已经用IDEA编译好了作为library的项 ...
- 画线代码V1.0.0
画线代码: 最终效果图: 优点: 1.效果还行,计算量也不大(就一点2维直线一般式能有多少运算量). 缺点: 1.每条线怎么也是建模,可能会有点开销. 2.编辑起来很是麻烦. 代码部分: /***** ...
- 蓝桥杯_算法训练_Torry的困惑(基本型)
这个题目就是求质数的乘积,在加一个模,思路比较简单,直接上代码: #include<iostream> using namespace std; bool isPrime(int a) { ...
- all about
1.三次握手和四次挥手?2.什么是OSI七层结构?3.http vs https?4.what is Ping?基于什么协议?使用方法?5.DNS?6.cookie vs session?7.LDAP ...
- Eclipse环境搭建并且运行wordcount程序
一.安装Hadoop插件 1. 所需环境 hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linu ...
- Javascript高级编程学习笔记(71)—— 模拟事件(1)DOM事件模拟
事件,指的是网页中某个特定的交互时刻 一般来说事件由浏览器厂商负责提供,一般由用户操作或者其它浏览器功能来触发 但是有一类特殊的事件,那就是由我们开发人员通过JS触发的事件 这些事件和浏览器创建的事件 ...
- Javascript高级编程学习笔记(41)—— DOM(7)DocumentFragment类型
DocumentFragment类型 除开昨天我们了解的两种不常用的类型之外 今天我们要介绍的两种类型可以说使用频率不输于前面最常用的几种元素类型 首先就是DocumentFragment类型 有些小 ...
- C 单向链表的创建、插入及删除
链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用.链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节 ...
- Mybatis框架六:关联查询
这里搞一个测试场景: 用户和订单,一位用户可以有多个订单,而每个订单只属于一位用户 以用户为中心,相对于订单:一对多 以订单为中心,当对于用户:一对一 两张表结构: 订单表: 用户表: 对应的POJO ...