php留言板编写总结

0x01 前言

寒假闲来无事,就随便写一个留言板来复习一下php语言

0x02 先从html语言简单说起

基础的html结构:

1
2
3
4
5
<!DOCTYPE html>     //声明
<html>
<head></head> //描述网页各种属性,一般不在网页内容内显示
<body></body> //真正写内容的
</html>//大标签

用到的标签:

  1. 一对的:
1
2
3
4
5
6
7
8
9

<div></div> //容器
<form></form> //表格
<textarea></textarea> //文本输入
<a herf=""> </a> //超链接
<select> //选择项
<option></option> //选择内容
<option></option>
</select>
  1. 单身狗类型的:
    1
    2
    3
    4
    5
    6
    <input type="" value="" />  //输入  type跟value属性分别是输入的类型跟名字  
    //type有submit,text,radio,checkbox,file等属性

    <!-- --> //注释

    <image src="" width="" height =""/> //图片

全局属性

例如id class title name等

0x03 CSS

感觉这一部分没什么多大作用,因为单单是用来美化的(我感觉),考虑到自己刚写博客还是总结一下我自己认为的东西吧。
样式:设置字体颜色宽度背景颜色等就是样式 样式与样式之间用分号隔开,其属性用冒号隔开。。

对CSS的操作

1.利用div标签里面的style属性去完成操作,例如:

1
<div style="color:red;"></div>

2.在head里面写,通过style标签,例如:

1
2
3
4
5
6
7
<head>
<style> //div里面的内容都变成红色
div{
color:green;
}
</style>
</head>

3.通过外链去实现,写link标签在head里面,注意此时不能使用style标签,因为style标签是属于html的东西

1
2
3
     <head>
<link rel="stylesheet" type = "text/css" href= "style.css"/> //最后一个属性是你对应的文件名
</head>

选择器:

<div></div> css文件内都是如果是div就代表全部div都改变字体大小等属性。。。

关于选中某一部分的容器去改字体大小或颜色
例如:
<div id="a1"></div>,对应的css文件也要改,改成#a1{} 这里的#代表了是id选择器
<div class="a1"></div>,对应的css文件也要改,改成.a1{} 这里的#代表了是类选择器
还有就是有一个类似C++里面的继承关系的东西,在同名不同选择器内可以在css文件内这样写:

1
2
3
4
5
6
#a1 .aa1
{
} //id选择器的
.a1 .aa1
{
} //类选择器的

0x04 再来简单谈谈JavaScript

一般网页上的动态画面都是它来完成的

可以运行的地方

  1. html的<script></script>
  2. html属性事件中,如onclick
  3. 浏览器的console控制台 //ctf题目有些就可以利用这个点去找flag

JavaScript DOM 主要是对html的操作

1.获取html元素 函数getElementById():通过ID获取元素,例如:

1
2
3
4
5
<p id="info">哈哈哈</p>
<script>
x= doucument.getElementById("info")
alert('id为info元素的文本是'+x.innerHTML); //这里的innerHTML是获取元素内容,而alert()在JavaScript中可以弹出一个警告框展示信息
</script>

2.修改html内容 与获取内容的前两步是一样的,例如:

1
2
3
4
5
<p id="info">哈哈哈</p>
<script>
x= doucument.getElementById("info")
x.innerHTML = '改变的内容!';
</script>

3.创建动态的html元素内容

1
document.write()

4.增加互动元素,如:

1
2
3
4
5
6
7
<script>
function changetext(id)
{
id.innerHTML="谢谢!";
}
</script>
<h1 onclick="chagetext(this)">click here</h1> //利用onclick

JavaScript BOM –对浏览器的操作:

  1. 警告用户  //常用于xss漏洞测试
    警告弹窗alert()
    确认弹窗confirm()
    提示弹窗prompt()
  2. 获取cookie或者写入cookie
    document.cookie    //读取
    document.cookie="写入值"    //写入

还有其他操作就不一一举例了 ->->

0x05 PHP

环境的搭建

各种傻瓜式装环境谷歌一下都有

标记符

`<?php     ?>  //在标记符之外都是可用来显示html代码的(html混写),每句话后面都一定要记住不要忘记分号`

注释:

  1. # 2. // 3. /**/

变量

$开头
注意:定义字符串与数组各有两种形式
字符串$a="aaa" $a='aaa' 这里跟C++的字符与字符串定义有点区别,而且双引号考虑变量名,单引号该输出什么就输出什么
$b=[1,2,3] $b=array(1,2,3) 前面是php5.4之后数组的新写法 ,后面是传统写法
注意数据类型的转换,无效的字符串就会变成0 例如: (int)'saaa'=0 (int)true=1等等

var_dump()函数

var_dump()同时输出变量的数据类型及数据,可多个值写进,一般用来测试。。。

运算符

其中有一个.= 的符号,里面的.是用来连接两个变量的符号
还有一些例如=>->我认为还是比较特殊的

函数

定义格式

1
2
3
4
function name()
{

}

注意:函数里面的变量进不来也出不去

数组

键是唯一的 ,但是值可以是多种类型的,用逗号隔开,例如可以数组套数组$arr=[1,2,[1,2,3]]

分索引数组与关联数组:

1
$arr1=[1,2,3];   //索引数组
1
2
$arr2=[ 'a'=> 1,'b'=> 2 ];    //关联数组这个有点类似python里边的字典,随意添加键值
unset($arr2['b']); //删除

数据的发送与接收注意点:

1.html一定要在form表单内并且要有actionmethod属性
2.form里面的input一定要有对应的name
例如:

1
2
3
4
5
  <form action='test.php' method='post'>
<input type='text' name='aa' />
<input type='text' name='bb' />
<input type='submit' value='提交'>
</form>

3.GET,POST,REQUEST(REQUEST方式两种都行,不过听说开发有点危险,不推荐使用)在对应的php文件里面的键名一定要对应,这两个预变量与数组的操作差不多

类和对象

个人觉得代码很少的时候,觉得这是累赘。。。。。可能开发团队大了就有些用处。。。
类里面的变量跟方法最好都要设置可见性,就下些什么public之类的。->详情请看官方文档

对象调用类里面的属性好像只能用->,看了看文档好像没有用.去连接的,这里还是和C++有点区别的,另外就是调用的时候箭头右边就不用加$了;例如:

1
$myFoo->test();   //这里的test()是类里面的一个方法

还有就是类里面的$this 可以在自家类的方法里面调用其他自己类的方法,这个东西千万不要忘记了$我就忘了很多遍
下面是例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

class name{
public $a = 0;
public $b = 1;
public function a1(){
$this->a2();
}
public function a2(){
echo $this->b;
}
}


$n = new name(); //根据类实例化
$n -> a1();
echo $n->a;
//var_dump($n);
?>

魔术方法

1
2
3
4
public function __constuct()
{
}
//哎呀其实就是构造函数。。。。

文件包含

include,include_once,require,require_once的区别:
include你调用几次就加载几次,而include_once至加载一次
而require跟require_once的区别同上
include跟require的区别就是一旦出错require会终止而include会继续执行后面的代码

这几天的总结就这样吧。。明天开始捣鼓捣鼓数据库吧。。。。


听说,打赏我的人最后都成了大佬。



文章目录
  1. 1. 0x01 前言
  2. 2. 0x02 先从html语言简单说起
    1. 2.0.1. 基础的html结构:
    2. 2.0.2. 用到的标签:
    3. 2.0.3. 全局属性
  • 3. 0x03 CSS
    1. 3.0.1. 对CSS的操作
    2. 3.0.2. 选择器:
  • 4. 0x04 再来简单谈谈JavaScript
    1. 4.0.1. 可以运行的地方
    2. 4.0.2. JavaScript DOM 主要是对html的操作
    3. 4.0.3. JavaScript BOM –对浏览器的操作:
  • 5. 0x05 PHP
    1. 5.0.1. 环境的搭建
    2. 5.0.2. 标记符
    3. 5.0.3. 注释:
    4. 5.0.4. 变量
    5. 5.0.5. var_dump()函数
    6. 5.0.6. 运算符
    7. 5.0.7. 函数
    8. 5.0.8. 数组
    9. 5.0.9. 数据的发送与接收注意点:
    10. 5.0.10. 类和对象
    11. 5.0.11. 魔术方法
    12. 5.0.12. 文件包含
  • 5.1. 这几天的总结就这样吧。。明天开始捣鼓捣鼓数据库吧。。。。