1、布尔值:false(0,空白,null);    true(-1,非0值);

2、echo '$s'输出内容是 $s;

如果""里面包含了$s或者{$s},那么将显示的变量的值。推荐使用{$s}的方式。

使用""时候,如果在""里面还要使用"",就必须用\来转义,例如: echo "\"sss\"";

3、字符串连接:使用标点"."进行字符串连接。

4、访问字符串中的字符:通过在字符串之后用花括号指定所要字符从零开始的偏移量来访问。

strlen($str)   函数可以获取字符串长度。

$str[0]  获取字符串$str的第一个字符。

substr('123456',5,1)   从第5个字符开始获取一个字符,结果是“6”.

5、strval($s)将$s的值转换成字符串,intval($s)将$s的值转换成int整型数值。

双引号里面使用双引号:" a\"b "=a"b ;

6、数组: (array 括号,逗号,=>)

数组排序:sort($arr);

定义:$arr=array(1=>'11','foo'=>'fffooo', 'info'=>array(2=>22,'ghost'=>'host')  );

引用:$arr[1]  $arr['foo']  $arr['info'][2]  $arr['info']['ghost']

count($arr)  获取数组元素数量

遍历数组:$arr=array(1=>'111',2=>'222',3=>'333');

foreach($arr as $k=>$v)

echo "{$k}_{$v}
"; //输出:1_111  2_222  3_333

7、对象

class foo

{

var $a='s';//类的变量!!

function init()  //类的函数

{

echo "Doing foo.";

echo $this->a;  //引用类的变量!!

}

}

$bar = new foo;

$bar->init();

?>

8、变量

isset($s)检查变量是否已经设置,如果还没有设置就引用$s将导致php提示: Undefined variable。

默认情况下变量之间赋值是不会互相影响的(传值赋值模式);

如果是 $a="a"; $b=&$a  这种情况下,$a和$b中任一个变量的值改动了,另外一个变量的值也随之变化(传地址赋值模式)。

PHP5的预定义变量:

$_SERVER["REMOTE_ADDR"]  //获取ip地址

$_REQUEST[],$_GET[],$_POST[] //获取提交的参数的值

$_SESSION[],$_COOKIE[]

$_FILE[]

$_ENV[]

9、常量

define("CONSTANT", "Hello world.");

echo CONSTANT; // outputs "Hello world."

?>

10、运算符号

/  取商,结果为float型,通过(int)($a/$b)得到整型商

%  取余,结果为整型

==  是否恒等

!=  <>  不等于

and && 与  or || 或  !非

round($a) 四舍五入取$a的值

floor($a) 舍去$a小数点后内容取整

ceil($a)  进一法取整,返回不小于$a的下一个整数

11、流程控制

if()  {do it}

elseif(){do it}

else {do it}

for($i=0;$i

swtich($a){

case '1': do it;break;

case '2': do it;break;

default: do it;

}

12、函数

function_exists(function name)  指定的函数是否存在;

函数内引用全局变量: global $a;

静态变量:static $a只在函数内部编号;

function show()

{ static $a=0;$a++;echo $a;}

$a=10

show();

show();

echo $a

输出结果:1,2,10

13、类与对象

14、图像处理(需要GD库支持)

检查是否启动了GD库支持:if( function_exists(gd_info) )

gd_info()返回值是一个数组;

检查GD库版本:$ver=gd_info(); echo $k['GD Version'];

在x,y坐标处新建图像:$img=imagecrete(x,y)

为图像分配颜色:$color=imagecolorallocate($img,R,G,B)

发送图片给浏览器;header("content-type;image/gif")  或者image/jgeg,image/png

显示图片;imagegif($img)   imagejpeg($img)    imagepng($img)  imagewbmp($img)

释放内存: imagedestroy($img)

显示文字; imagestring($img,int font,x,y,$str,$color)  如果 font 是 1,2,3,4 或 5,则使用内置字体。

划线:imageline($img,x1,y1,x2,y2,$color);

15、SESSION

session_start()   建立会话

$_SESSION['var']='kkk'    建立var会话变量并赋值

session_unset() 注销已注册session变量

session_unregister('var') 注销session变量var

PHP后退页面过期或不存在问题的解决:

post后或使用了使用了session都有可能引起这种情况

解决办法,在开头加入如下代码即可:

header("Cache-control: private");

1、最好是用include_once()而不要用include()函数;

require_once()遇见错误则停止执行,include_once()提示后继续执行;

2、empty($str)如果$str是0或者为空都会返回true,所以$str最好不要有0

3、---------页面转向--------------------

"alert('成功注销会员')

";

当然header('location:URL')也可以实现但是效果没有上面的好!!

但是要特别注意:header这个函数所在的页面上在调用此函数前,不能有任何输出!!

-----------------------------

4、php代码里面嵌套html或者js代码时候,最好用单引号而不要用双引号!!

5、获取页面提交的参数:$_SERVER['REMOTE_ADDR'].$_SERVER[REQUEST_URI]

6、显示本区时间:date_default_timezone_set('PRC');echo date("H:i:s");这样才是服务器的时间,如果不设置时区PHP5版本后显示的时间就不是本地时间!!

date("Ymd His")  显示年月日时分秒

10、细线表格设计:单元格间距=1;表格背景色=你想要看见最终显示出来的表格边框色;单元格背景色=白色或者很浅的色系。

竖线:表格列填充黑色,列宽度=1

字体:14像素+宋体   style="width:80"

12、关于使用$_GET[]和$_POST[]获取页面变量:action='1.php?action=add'中应该用$_GET['action']来获取action提交的值!!

处理radio单选组:由于radio单选组的name都是一样的,所以使用$_REQUEST["name"]就可以获取到单选的那个项的值value。

处理select下拉框(单选):由于select单选组的name都是一样的,所以使用$_REQUEST["name"]就可以获取到选择的下拉项的值value。

处理select下拉框(多选):select下拉框命名必须为name[]形式;

$arr=$_REQUEST["name"];

for($i=0;$i

echo "{$arr[$i]}";

处理checkbox多选组(多选):checkbox多选组必须命名为checkbox[]形式;

$arr=$_REQUEST["checkbox"];

for($i=0;$i

echo "{$arr[$i]}";

14、变量的引用,

(condition)?action1:action2相当于if(condition) action1  else action2.

funciton msg($j=0,$k=1,$l=3) 预定义参数值,如果参数不指定则用默认值,如果指定了就用指定值。

17、htmlentities($_POST['$S'])将$S的内容中所有的特殊字符转换成HTML表示方式。

所有会引起浏览器进行特殊处理的字符在进行了转换后,就能确保显示出来的是原来录入的内容。

18、-----------------页面和代码分离的一种模板(分htm和php)------------------

第一、php文件处理完所有的业务(control和model),查询结果一般放到数组,然后htm文件里面可以直接调用数组变量。

php文件末尾必须include_once(htm文件)!!

$query=mysql_query($sql);

while($rs=mysql_fetch_array($query))

{

$catedb[]=$rs;

}

第二、htm文件只管显示(view),写代码时候,使用  print <<

例如:

{$value['name']}

- 显示顺序: -

[编辑]

[删除]

第三、中,<?php ?>必须写在最前面和最后面。

例如:

html代码

html代码

html代码

html代码

//------------------------------------------------

19、数据库操作

//连接数据库

$link=@mysql_connect(host,usr,name) or die("erro message!!");

@mysql_close($link);

//查询

$sql="select * from db";

$result=@mysql_query($sql) or die("erro message!!");

//显示查询结果集

$result=@mysql_query("SELECT id, name FROM mytable");

while ( $row = @mysql_fetch_array($result)  )

{

printf ("ID: %s  Name: %s", $row[0], $row["name"]);

}

//获取查询包含的记录总数

mysql_num_rows($result)    返回select语句查询结果的记录总数。

mysql_affected_rows()      返回insert,delete,update等sql语句更新的记录总数,注意此函数没有参数!!。

mysql_num_fields($query)   返回select语句查询结果的列(字段)总数。

//释放查询占用的内存

mysql_free_result($result)

//事务操作

//修改记录

mysql_array_rows($)和mysql_affected_rows()返回值必须>0才算操作成功,

mysql_affected_rows())返回值可能是-x负数,此时用if(mysql_affected_rows()))判断也是返回true!!!

//------------------------------------------------

20、javascrīpt学习:

(1)、获取表单的元素个数: form.elements.length

(2)、表单第(I-1)个元素的类型: form.elements[i].type="button"

(3)、表单元素的值:form.elements.value="";

(4)、复选框标记已经勾选:document.form.checkbox.checked=true

(5)、单选按钮:document.form.radio.checked

(6)、Select的索引值:document.form.select.selectIndex

(7)、select的属性:document.form.select.options[i].text;

document.form.select.options[i].value;

(8)、当前select的值:document.form.select.options[document.form.select.selectIndex].value;

//------------------------------------------------

21、数组

$arr=array(1,2,3,4,5);

foreach($arr as $i=>$value)

echo $arr[$i];

//打印数组详细内容   print_r($array)

$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));

print_r ($a);

?>

count($arr) 返回数组$arr的列的数目。

//-----------------文件操作----------------------------

Send this file:

form必须有参数说明enctype="multipart/form-data"才能有文件上传功能。

设置了文件上传功能后,php自动建立了全局变量$_FILES;

$_FILES['myfile']['name'] 客户端机器文件的原名称。

$_FILES['myfile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。

if( $_FILES['fl']['type']=='image/jpeg' ) 只能上传JPEG类型文件

$_FILES['myfile']['size'] 已上传文件的大小,单位为字节。(不可靠的数据)

判断上传文件大小 if(filesize($_FILES['attachment']['tmp_name'])>1024000)  (这样判断才可靠)

$_FILES['myfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名。

$_FILES['myfile']['error'] 和该文件上传相关的错误代码。

php文件上传时候,windows系统下的文件路径必须是用\\来做转义表示\,例如'c:\\windows\\'而不是'c:\windows\',;

php处理文件上传做法:文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,

如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。

所以在删除之前要将它复制到其它位置,此时,才算完成了我们的上传文件过程。

$file=$_FILES['fl']['name'];

$tmp=$_FILES['fl']['tmp_name'];

if(move_uploaded_file($tmp,'c:\\apache\\htdocs\\'.$file))

echo 'upload file ok';

else

echo 'upload file failse';

上传多个文件:有了上面的认识,同时上传多个文件也就不难做了。上传多个文件是从PHP3.0.10版本开始被支持。

要完成它,只需文件名以数组形式表示即可:

假如我们上传了两个文件:first.txt 和 second.gif。表单被提交后,

$_FILES["myFile"]["name"][0]、$_FILES["myFile"]["size"][0]分别指first.txt文件的名字和大小,

$_FILES["myFile"]["name"][1]、$_FILES["myFile"]["size"][1]分别指 second.gif 的文件名字和大小。

当然,$_FILES["myFile"]["tmp_name"]、$_FILES["myFile"]["type"]也同样会产生。

bool is_uploaded_file ( string filename )

说明:如果 filename 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。这可以用来确保恶意的用户

无法欺骗脚本去访问本不能访问的文件,例如 /etc/passwd。这种检查显得格外重要,如果上传的文件有

可能会造成对用户或本系统的其他用户显示其内容的话。为了能使 is_uploaded_file() 函数正常工作,

必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的

文件名 $_FILES['userfile']['name'] 不能正常运作。

$old_filename = $_FILES['attachment']['tmp_name'];//获得上传到服务器临时目录得文件的名称;

$new_filename = '/path/to/'.$_FILES['attachment']['name'];

if (move_uploaded_file($old_filename, $new_filename))//移动上传临时文件到制定目录

{

/* $old_filename is an uploaded file, and the move was successful. */

}

?>

遍历$mydir目录下的文件和文件夹:

if($dirhandle=opendir($mydir))

while( false!==($fi=readdir($dirhandle)) )

echo $fi.'
';

closedir($dirhandle);

22、数学函数

$a / $b  如果除不尽,结果是浮点数。

$a % $b  取商;

ceil($a) 四舍五入取值$a;

floor($a) 只取$a的整数部分;

-----------------------------------------------------------------------------------------------

23、php与OOP

--------------------class.php------------------------------------

class database

{

public $num,$result;

public function  query($sql)

{

$this->result=@mysql_query($sql) or die("err code 3: sql query fail") ;

return $this->result;  //返回查询结果集

@mysql_free_result($result) or die("err code 5: mysql_free_result() fail");

}

public function num_rows($sql)

{

$this->result=$this->query($sql);  //通过$this->query引用query函数. $this->result引用成员变量result!!

$this->num=@mysql_num_rows($result) or die("err code 4: mysql_num_rows() fail");

return $this->num;  //此函数返回查询的结果数。

}

}

--------------------test.php------------------------------------

include_once("class.php");

$conn=new database;

$sql="select * from user order by userAge";

echo $conn->num_rows($sql)."
";

?>

//-------------------php与Ajax------------------------------------

由于jsvascrīpt采用UTF8编码,在windows下采用ajax回送服务器的返回信息就会出现乱码,

因此在windows下应用时,php处理页面ajax请求的页面必须包含:

header('Content-Type:text/html;charset=GB2312');这句话,否则php获取的中文数据返回到

ajax的html界面将显示乱码。

//输出xml

require_once("conn.php");

header("Conten-Type:text/xml");

echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>";

echo "";

$result = mysql_db_query("myly","select * from myTable");

while($row = mysql_fetch_object($result)) {

echo "".$row->name."";

echo "location."]]>";

}

echo "";

mysql_free_result($result);

mysql_close();

?>

//输出xml------------------------------------------------------------------

header("Conten-Type:text/xml");

echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>";

echo "";

for($i=0;$i<5;$i++)

{

$str="

{$i}";

echo $str;

}

echo "";

?>

PHP弹窗回送,PHP点点滴滴 一(我抄来滴,非常简单的东西)相关推荐

  1. loading怎么关闭 vant_vant-ui组件调用Dialog弹窗异步关闭操作

    需求描述: 需求描述:官方文档又是组件调用方式,又是函数调用方式. 我就需要一个很简单的:点击操作弹窗显示后,我填写一个表单,表单校验通过后,再调用API接口,返回成功后,关闭弹窗. 一个很简单的东西 ...

  2. ant4 多个form 验证_爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别...

    点击上方"早起Python",关注并"星标" 每日接收Python干货! 本文含 3321 字,9代码片段建议阅读 8 分钟 前言 在我们写爬虫的过程中,目标网 ...

  3. python爬虫遇到验证码、输入验证码后提醒验证码错误_爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别...

    前言 在我们写爬虫的过程中,目标网站常见的干扰手段就是设置验证码等,本就将基于Selenium实战讲解如何处理弹窗和验证码,爬取的目标网站为某仪器预约平台 可以看到登录所需的验证码构成比较简单,是彩色 ...

  4. html弹窗可以关闭,js 点击弹窗以外 关闭弹窗

    layer点击自定义按钮关闭对应的弹窗,layer如何关闭弹窗 首先自定义一个变量 点击 Btn 按钮,弹出弹窗(将弹窗事件赋给自定义的变量名) 我是标题 一.实现弹窗原理:    弹窗的实现:    ...

  5. Toast(提示信息),Dialog(弹窗).

    Toast Toast就是显示一个提示信息,它没有焦点,不接受点击事件.主要掌握Toast.makeText(), toast.setGravity()(位置定位),toast.setDuration ...

  6. 爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 远芳侵古道,晴翠接荒城. 前言 在 ...

  7. Android功能强大,UI 简洁,交互优雅的通用弹窗

    XPopup 项目地址:li-xiaojun/XPopup  简介:?功能强大,UI 简洁,交互优雅的通用弹窗!可以替代 Dialog,PopupWindow,PopupMenu,BottomShee ...

  8. [iOS开发]常用弹窗总结

    最近写项目 对各种各样的弹窗搞的有点头疼,于是决定总结一下常用的弹窗 文章目录 弹窗是什么? 弹窗都有哪些分类? 模态弹窗 一.对话框 二.操作列表 三.浮出层 非模态弹窗 一.透明指示层 二.app ...

  9. 纯js弹窗Dialog组件

    纯js弹窗Dialog组件 文章目录 纯js弹窗Dialog组件 1. js部分 2. css样式 3. 简单使用 4. 效果展示 1. js部分 /* eslint-disable */ const ...

最新文章

  1. 微软开源的Trill是什么?
  2. vnc用户名 查看linux_vnc用户名未被识别,5步教你如何解决vnc用户名未被识别
  3. 软件测试--面试时如何回答接口测试怎么进行
  4. 13分钟,教你python可视化分析20W数据,找到妹子最爱的内衣
  5. 268. 丢失的数字 Missing Number
  6. 4.dialog 工具
  7. vue学习笔记-11-自定义指令
  8. Mysql 超键 候选键 主键 外键之间关系
  9. MongoDB三分钟插入100万数据
  10. python飞机大战加背景音乐_Python飞机大战实例有感——pygame如何实现“切歌”以及多曲重奏?...
  11. 小程序商家如何做低成本裂变活动?
  12. ffmpeg复杂滤镜-filter_complex
  13. 【记录】一个自动投票的小程序(python实现)
  14. Groundhog Looking Dowdy
  15. Shine 和 8hz-mp3
  16. 在Netbeans中搭建Android开发环境
  17. java许愿墙_许愿墙的实现
  18. Rog 幻14 2020 安装ubuntu20.04/一些小问题和美化
  19. PADS导出Gerber
  20. ifix5.8连接ab plc的点-通过igs

热门文章

  1. 球球大作战为什么显示服务器神游,球球大作战不能玩怎么解决_球球大作战不能玩解决方案详细分析_好特教程...
  2. LUNA再次夺冠,科大讯飞向世界宣告自己的实力不止于语音
  3. 2018-2019 网络对抗技术 20165231 Exp5 MSF基础应用
  4. win10 安装selenium和使用
  5. 如何通俗易懂地向别人解释React生命周期方法?
  6. Emacs之魂(三):列表,引用和求值策略
  7. NFS客户端、服务器协商读写粒度(rsize、wsize)流程 【转】
  8. Web Service概念梳理
  9. IE下常见兼容性问题记录汇总(04-持续更新)
  10. eclipse ldt update resource