php留言板编写总结

date
Feb 2, 2018
slug
php-summary
status
Published
tags
开发测试
summary
寒假闲来无事,写一个留言板来巩固一下php语言
type
Post

0x01 先从html语言简单说起

基础的html结构:

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

用到的标签:

  1. 一对的:

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

	<!-- -->           //注释

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

全局属性

例如id class title name等

0x02 CSS

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

对CSS的操作

1.利用div标签里面的style属性去完成操作,例如:
<div style="color:red;"></div>
2.在head里面写,通过style标签,例如:
<head>
	<style>    //div里面的内容都变成红色
		div{
		color:green;
		   }
	</style>
</head>
3.通过外链去实现,写link标签在head里面,注意此时不能使用style标签,因为style标签是属于html的东西
     <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文件内这样写:
#a1 .aa1
{
}  //id选择器的
.a1 .aa1
{
}  //类选择器的

0x03 再来简单谈谈JavaScript

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

可以运行的地方

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

JavaScript DOM 主要是对html的操作

1.获取html元素 函数**getElementById():**通过ID获取元素,例如:
<p id="info">哈哈哈</p>
<script>
x= doucument.getElementById("info")
alert('id为info元素的文本是'+x.innerHTML);    //这里的innerHTML是获取元素内容,而alert()在JavaScript中可以弹出一个警告框展示信息
 </script>
2.修改html内容 与获取内容的前两步是一样的,例如:
<p id="info">哈哈哈</p>
<script>
x= doucument.getElementById("info")
x.innerHTML = '改变的内容!';
 </script>
3.创建动态的html元素内容
document.write()
4.增加互动元素,如:
<script>
function changetext(id)
{
   id.innerHTML="谢谢!";
}
</script>
<h1 onclick="chagetext(this)">click here</h1>  //利用onclick

JavaScript BOM --对浏览器的操作:

  1. 警告用户 //常用于xss漏洞测试 警告弹窗alert() 确认弹窗confirm() 提示弹窗prompt()
  1. 获取cookie或者写入cookie document.cookie //读取 document.cookie="写入值" //写入
还有其他操作就不一一举例了 ->->

0x04 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()同时输出变量的数据类型及数据,可多个值写进,一般用来测试。。。

运算符

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

函数

定义格式
function name()
{

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

数组

键是唯一的 ,但是值可以是多种类型的,用逗号隔开,例如可以数组套数组$arr=[1,2,[1,2,3]]
分索引数组与关联数组:
$arr1=[1,2,3];   //索引数组
$arr2=[ 'a'=> 1,'b'=> 2 ];    //关联数组这个有点类似python里边的字典,随意添加键值
unset($arr2['b']);    //删除

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

1.html一定要在form表单内并且要有actionmethod属性 2.form里面的input一定要有对应的name值 例如:
    <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++有点区别的,另外就是调用的时候箭头右边就不用加$了;例如:
$myFoo->test();   //这里的test()是类里面的一个方法
还有就是类里面的$this 可以在自家类的方法里面调用其他自己类的方法,这个东西千万不要忘记了$我就忘了很多遍 下面是例子:
<?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);
?>

魔术方法

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

文件包含

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

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


© 4me 2021 - 2024