从零开始学安全(二十三)●用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 命令
随机推荐
- BABOK概述
BABOK概述 BABOK(Business Analysis Body of Knowlodge: 业务[或商业]分析知识体系)是由位于加拿大的IIBA(International Institut ...
- iptables简单用法
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 &l ...
- quartus 一种管脚分配方法
第一步: 在QII软件中,使用“Assignments -> Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况. 编写xxx. ...
- ServiceStack.Redis记录
一.事务 (一)AcquireLock方法 1.说明:申请对一个Key加锁(期间其他对象不能访问). 2.带using的使用,或带过期时间参数,否则锁不会自动释放. using (RedisCache ...
- 2018年3月24日上海MVP线下技术交流活动简报
2018年3月24日下午,几位上海MVP自发组织了一次线下的技术交流会,主要由MVP胡浩牵头,我(陈晴阳).刘鑫.朱兴亮和胡浩各自做了一次主题演讲,具体主题是: 陈晴阳:<这还是我认识的Visu ...
- 深度学习Tensorflow生产环境部署(上·环境准备篇)
最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...
- Java核心技术卷一基础技术-第13章-集合-读书笔记
第13章 集合 本章内容: * 集合接口 * 具体的集合 * 集合框架 * 算法 * 遗留的集合 13.1 集合接口 Enumeration接口提供了一种用于访问任意容器中各个元素的抽象机制. 13. ...
- 第49节:Java集合框架中底层文档的List与Set
Java集合框架中的List与Set // 简书作者:达叔小生 Collection -> Set 无序不重复 -> 无序HashSet,需要排序TreeSet -> List 有序 ...
- 把ajax包装成promise的形式(2)
概述 为了体验promise的原理,我打算自己把ajax包装成promise的形式.主要希望实现下列功能: // 1.使用success和error进行链式调用,并且可以在后面加上无限个 promis ...
- core跨域问题
#region 跨域问题 app.UseCors(builder => builder .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() ...