首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP全栈学习笔记23

php,基础,流程控制,函数,字符串,数组,web交互,mysql数据库PHP数据库编程,cookie与session,日期和时间,图形图形处理,文件和目录处理,面向对象,pdo数据库抽象层,smarty...$b+=1; echo $b; } example(); // 静态变量都会+1; 局部变量都不变 可变变量 可变变量是一种独特的变量,前面加: $$ $$可变变量名称 = 可变变量的 <...php $conn = mysql_connect("localhost", "root", "root") or die("连接数据库服务器失败".mysql_error()); $select =...获取数组中重复元素的所有键名 array_search获取数组中指定元素的键名 explode字符串分割成数组 implode数组中的元素组合成一个字符串 array_rand 从数组中随机取出一个或多个单元...> substr_count()函数 获取子串在字符串中出现的次数 ltrim()函数和rtrim()函数 trim()函数用于去除字符串开始位置和结束位置的空白字符,并返回去掉空白字符后的字符串

3.7K30

php面试题目100及最佳答案

连接,而各个变量之间使用”&”连接;Post是表单中的数据放在form的数据体中,按照变量和相对应的方式,传递到action所指向URL。...95..如何记录php程序错误至系统日志? 答案:PHP的log_errors开启即可,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。...— 一个一维数组的转化为字符串 join — 别名implode htmlspecialchars — 把预定义的字符转换为HTML实体(比如说大于小于) nl2br — 在字符串所有新行之前插入...— 去除字符串首尾处的空白字符(或者其他字符) ltrim — 删除字符串开头的空白字符(或其他字符) rtrim — 删除字符串末端的空白字符(或者其他字符) chop — rtrim 的别名...数组开头的单元移出数组 array_pop — 数组最后一个单元弹出(出栈) array_unshift — 在数组开头插入一个或多个单元 array_push — 一个或多个单元压入数组的末尾

8.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    代码审计与渗透测试

    是恶意攻击者往web页面里插入恶意html代码,当用户浏览该页时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS分为存储型xss和反射型,基于DOM的跨站脚本XSS。...> 这里能看到if里面的php函数array_key_exists,百度就可以查到他的用法等。 ?...> 可以看到接收POST过来的参数,trim()函数是移除字符串两侧的空白字符或其他预定义字符。 这里先进行过滤一下,把我们输入字符串两侧的空白字符和其他预定义字符给过滤掉。...mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符 受影响字符 \x00 \n \r \ ' " \x1a 如果成功,则该函数返回被转义的字符串...最后给插入数据库。这个时候我们去数据库看一下,如下图,可以看到xss代码已经插入数据库了,这也就是存储型XSS与反射性XSS的区别。

    1.5K30

    PHPWEB典型应用技术

    主要讲5个方面: PHPweb页面的交互:表单,文件的上传与下载 http协议 PHP的会话技术:cookie和session PHP的图像技术:GD库,图像的常见的制作和操作,验证码,二维码,水印...、缩略图,3D图等等 文件操作:打开、关闭、读取文件、写入文件,遍历目录等 一、PHPweb页面的交互:表单,文件的上传与下载 1表单     1.1、单选框 single.html 1...gender']; 13 $hobby = $_POST['hobby']; 14 $user_password = md5(trim($_POST['password'])); 15 16 // 数组转换成字符串才能写入数据库...32) 37 );*/ 注意: 当我们用PHP获取多选框的时,会获得一个数组; 当我们多选框的存入数据库时,需要将获得的数组用 implode() 函数分成一个字符串,再存入数据库中。...1.3、注意事项 cookie的,仅仅支持字符串类型; cookie的键(下标),可以写成数组下标的形式。

    67820

    PHP全栈学习笔记30

    变量:整型(int) 浮点(float)、布尔(bool)、字符串(string) 混合类型: 数组(array)、对象(object) 特殊类型:空(null)、 资源(resouce)、回调(callback...shu} 分成两块来看 表单向服务器提交数据有几种方式?这些方式有什么区别? 表单数据发送给服务器的常用方式有两种:Get和Post。...两种方式的区别主要在于发送数据方式不同 使用Get方式向服务器发送表单数据时,表单数据附加在URL属性的末端;采用POST方法发送数据时,数据会放置在主体中发送。...boolean string integer double array object resource null PHP 数据类型 字符串、整数、浮点数、逻辑、数组、对象、NULL。...包括4中标量数据类型,即boolean(布尔类型)integer(整型),float/double(浮点型)和string(字符串型) 两种复合数据类型,即array(数组)和object(对象),

    81130

    想学习php的,不如来这里看看

    (get方式,post方式), a标签传(get传),get传的可以在地址上看到,不安全, a标签推荐使用get提交数据,表单推荐使用post处传方式, 而$_POST获取表单post传过来的数据...();在数组最前面弹出一个,返回移出,原数组下标重排 array_unshift();在数组前面插入一个,返回数组个数 其他有用的数组处理函数 array_rand();随机取一个key shuffle...md5();md5加密后的字符串,加密后是一个32位字符串 str_shuffle();随机输出字符串,和数组里面的shuffle一样 25.建议在数据插入数据库之前进行三道把控...() ' " & 转成实体,防止对数据库造成破坏 26.正则表达式 正则表达式是用于描述字符排列和匹配模式的一种语法规则,它主要用于字符串的模式分割,匹配,查找及替换操作,在PHP...['myfile']['error'] 0 表示没有发生任何错误 1 表示上传文件的大小超过了约定,约定是upload的,但不能超过post的 2 表示上传文件大小超过表单限制,是在表单<

    1.3K30

    PHP的安全性问题,你能说得上几个?

    一、SQL注入 所谓SQL注入,就是通过把SQL命令插入Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。...具体来说,它是利用现有应用程序,(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL...比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击....恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。...解决方法: 1.自己写一个方法屏蔽xss攻击,过滤字符串 2.系统自带方法解决 <?

    81810

    100 个常见的 PHP 面试题

    1) PHP是什么? PHP是一种基于脚本的web语言,开发者可以动态的创建网页。 2) PHP的全称? Hypertext Preprocessor(超文本预处理器)。...14) PHP和HTML是如何交互的? 可以通过PHP脚本生成HTML,还可以信息从HTML传递到PHP。 15) 通过表单或URL传递时需要哪种类型的操作?...想象一下,当用户单击「提交到帖子」表单时,表单上有一个名为「var」的表单字段,然后您可以像这样访问1 $_POST["var"]; 36) 如何检查给定变量的为数字?...41) 在数据存储到数据库之前如何转义数据? addslashes 函数使我们能够在数据存储到数据库之前对其进行转义。 42) 如何从字符串中删除转义字符?...当PHP更改时,您可以通过以下方式更新Memcached 主动清除缓存: 进行插入或更新时清除缓存 重置缓存: 与第一种方法类似,但不仅仅是删除键并等待下一个数据刷新缓存的请求,而是在插入或更新后重置

    21K50

    php基本语法复习

    php $txt1="Learn PHP"; $txt2="W3School.com.cn"; $cars=array("Volvo","BMW","SAAB"); print $txt1; print...NULL 表示变量无量 NULL是NULL唯一可能的 NULL表示变量是否为空,用于区分字符串与空数据库 字符串函数 strlen() 返回字符串的长度 <?...,当用户通过点击提交按钮来提交表单数据时,表单发送到标签的 action 属性中指定的脚本文件....来自表单的输入数据 Cookies 服务器变量 数据库查询结果 函数和过滤器 如果需要过滤变量,使用以下的过滤器函数之一 filter_var() 通过一个指定的过滤器来过滤单一的变量 filter_var_array...$_SERVER[“PHP_SELF”]表单数据发送到页面本身,而不是跳转到另一张页面,这样用户就能在表单页面获得错误提示信息 表单验证 验证名字 检查name字段是否包含字母和空格,如果name字段无效

    22810

    CI基础知识笔记

    ,如果需要自动连接可以第三个参数设置成true,或者传入$config数据库配置 可以配置autoload.php自动加载模型(不建议使用) 6.辅助函数 一般保存在system/helpers或者...函数名 ‘filepath’=>’hooks’,//文件存放路径 ‘params’=>array(‘filter’,’input’));//参数 如果同一挂钩点有多次引用,可以挂钩点定义成二位数组即可...$1/id_$2″; 上例中, 类似于 products/shirts/123 的URI 换成调用 shirts 控制器类的 id_123 方法....但它不会影响show_404()这个方法,这个方法依然会加载默认的位于application/errors/error_404.phperror_404.php页面。...) 这个函数将会使用以下错误模版来显示错误消息: application/errors/error_general.php 可选参数 $status_code 决定在显示错误的同时将会发送哪种 HTTP

    1.3K30

    PHP第二节

    字符串函数 str_replace(查找的,替换的,执行替换操作的字符) 字符串替换 trim(字符串); 去除字符串首尾处的空白字符 explode(分割符,执行分割的字符串)...; 使用一个字符串分割另一个字符串 implode(连接符,执行连接的数组); 一个一维数组的拼接为字符串 substr( 字符串,起始索引,截取长度 );...json_encode($data); PHP变量转成JSON格式字符串。...json_decode($str,true); JSON 字符串, 转换为 PHP 数组。 表单处理 表单(form):表单用于收集用户输入信息,并将数据提交给服务器。...name命名形式必须为:name[],最终数据才能以数组的格式,各个选项的同时提交,否则只能提交最后一个勾选的属性。不同的选项,以数组元素的形式提交。

    1.4K30

    Laravel5.2之Demo1——URL生成和存储

    URL链接并重定向 1、创建数据库并迁移数据表单 表迁移(Migrations)其实就是数据库(Database)的版本控制,允许团队修改数据库架构,并保存当前数据库最新架构信息,为了创建并迁移创建的...URL数据库,需要做几个步骤: (1)、首先创建一个数据库并定义该数据库与Laravel的连接信息,Laravel框架为数据库连接提供了配置文件:/config/database.php,Laravel...2、创建Form表单 (1)、在resources/views/文件夹下创建一个urls文件夹,在urls文件夹下创建一个form.blade.php文件文件名需要有blade字符串,laravel会自动识别这个文件为...(2)、验证信息传到模板视图中 @if(Session::has('errors')) {{$errors->first('link')}}<...,返回该短连接 如果link链接不在数据表里,那就为该链接创建一个hash字段 根据提供数据在数据表里插入一个记录record 返回该链接给用户(1).使用Query Builder的

    24.1K31

    使用腾讯云服务器建立一个PHP收集表单

    在进行操作前,请确保服务器中已经安装web服务,并安装PHP7.0及以上的版本,本文是在Linux系统下进行演示操作,在Windows下同理。本文需要对HTML/CSS,PHP,和数据库有基本认识。...在HTML代码form表单里面视情况增加或者删除栏位PHP代码<?...;上面这句是对已经收集的信息插入数据库中,后面的问号,代表需要插入$username = $_POST"username";声明一个变量username ,$_POST"username"中的$_..., s是字符串,如果你获取的是数字,那么它就是i注意:在连接数据库处,请更改为自己的数据库名和密码$servername = 'localhost'; localhost是本地数据库$user = 'mycourrse...在以上我的提交数据我设计全部为字符串,在写入数据库时使用varchat类型下图为设计的表结构,图片注意UID,这里UID作为主键存在,但在收集的表单中可以不存在,UID为设定为自增,其他的字段我们设定为

    30440

    PHP全栈学习笔记27

    数组概述,类型,声明,遍历,输出,获取数组中最后一个元素,删除重复数组,获取数组中指定元素的键值,排序,数组中的元素合成字符串。 数组概述,数组是存储,管理和操作一组变量。...数字索引数组使用数字作为键名 关联数组使用字符串作为键名 遍历,输出数组 foreach和for list()和each() count()函数获取数组中元素的数量 list()函数数组中的赋予一些变量...() sort_regular sort_numeric sort_string 字符串与数组转换 explode()字符串分割为数组 implode()数组中的元素组合成一个新的字符串 php...php // 连接数据库 $conn = mysql_connect("localhost", "root", "root"); mysql_select_db("db_database", $conn...> web交互 http基础 创建表单表单元素设置,处理方法,获取表单参数,文件上传,验证,响应头信息,重定向,设置过期时间,文件下载。

    77940

    PHP面试题集锦

    1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,表单内各个字段一一对应,在URL中可以看到。...assoc当该参数为TRUE时,返回array而非object;Json_encode:PHP变量转换成json格式。...(重点看函数的‘参数’和‘返回’) ①array()创建数组; ②count()返回数组中元素的数目; ③array_push()一个或多个元素插入数组的末尾(入栈); ④array_column(...缓存技术是动态内容缓存到文件中,在一定时间内访问动态页面直接调用缓存文件,而不必重新访问数据库error_reporting() 的作用? 设置 PHP 的报错级别并返回当前级别。...(重点看函数的‘参数’和‘返回’) 1、trim()移除字符串两侧的空白字符和其他字符; 2、substr_replace()把字符串的一部分替换为另一个字符串; 3、substr_count()计算子串在字符串中出现的次数

    6.9K20

    SQL注入之PHP-MySQL实现手工注入-字符型

    SQL注入,就是通过把SQL命令插入Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。...具体来说,它是利用现有应用程序,(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL...比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。...字符型: SELECT 列 FROM 表 WHERE 字符型列=‘’ 字符型注入实战 构建练习环境 a.测试源码,放入/var/www/html/index.php目录下 <?...username=lyshark' union select 1,2,3,4 and '1'='1 上图可知,爆出1,2,3 接着更换SQL语句得出当前的数据库名字与数据库版本. index.php?

    1.3K20

    后端逆袭,一份不可多得的PHP学习指南

    通过array()形式声明: array()空数组 array(1,2...)下标连续的索引数组,数组的下标从0开始 array(key=>value,key=>value...)可以声明索引数组和关联...md5的散列,返回32位长度的字符串 sha1($string): 计算字符串的sha1的散列,返回40位长度的字符串 过滤: trim(string[,charlist]):默认过滤字符串两端的空格...\n用替换 拆分/合并 explode(delimiter,string)指定字符串拆分成数组 implode | join(delimiter,array)以指定分隔符数组中的键值连接成字符串...数组中元素的赋给对应的变量 array_unshift($array,$value...)...($link, $query); if($res){ echo '插入数据成功'; }else{ echo '插入数据失败'; } 所以mysqli操作数据库的步骤有: 连接mysql 设置字符集

    2.8K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券