php教程之表单提交实例
代码如下 | 复制代码 |
<form action="someform.php" method="post"> |
maxlength是与密码文本框关联的属性,它限制用户输入密码的最大长度为10个字符。
age列表框是列表菜单,它的命名属性下都有自己的值供选择。selected是一个特定的属性选择元素,如果某个option附加有该属性,在显示时就把该项列为第一项显示。
intro文本框中的内容,按照rows和cols显示文字、行和列宽。
fave_sport是一组单选按钮(radio),我们要按组命名元素名称,比如这一组单选按钮都叫做fave_sport,用户只可选择一个,发送脚本端也只存在一个值。
和单选项一样,所有多选项成员也须有同名的属性,而属性名称需要添加括号[],这样就把多选项的值以数组形式发送给PHP,languages就是这种形式。
checked标签是指单选项和多选项中的某个值,默认已经被选择。
代码如下 | 复制代码 |
//通过判断按钮的变量名是否在$_POST中定义,如果有表示该表单已提交 |
-自定义变量
a.不需明示数据类型
b.加'$'
c.以下划线或字母开头
d.以有意义的单词
-全等
a.===
b.判断大小及类型
-数组
创建数组方法
a.array("key"=>"value")
b.array[]=value;
c.explode(separator,string);
常用函数
a.count //统计数组条数
b.is_array //判断是否为数组
遍历数组
Foreach($arr as $key=>$value)
说明: 指针跳转, 自动循环, 依次赋值
-流程控制符
a. break //结束一层循环
break n //结束n层循环
b. continue //结束本次循环
c. return //返回,结束当前脚本运行
d. exit //结束脚本运行
e. return 与 exit的区别:见图
图片:图2-1.JPG
3.函数
-date("Y-m-d G:i:s")
a.Y 表示4位数字完整表示的年份
b.m 数字表示的月份,有前导零
c.d 月份中的第几天,有前导零的2位数字
d.G 小时,24小时格式,没有前导零
e. i 有前导零的分钟数
f. s 有前导零的秒数
注意:假如你显示的时间跟电脑显示时间不一样,也就是相差8小时,可在php.ini里
面将date.timezone = "PRC" //PRC代表中华人民共和
-time() //返回当前的 Unix 时间戳,也就是一串数字
例: $nextWeek=time()+(7*24*60*60);//7天,24小时,60分钟,60秒
echo $nextWeek."<br>";
echo 'now: '.date("Y-m-d")."n";
echo 'Next Week: '.date("Y-m-d",$nextWeek);
date(格式字符,时间戳)
1. 将给定的时间戳以给定的格式输出来
2. 如果省略时间戳,例如前面,则视为当前时间
-自定义函数
a.格式:function 函数名(){}
b.使用与功能相关的名字
function_exists //判断函数
is_array //判断数组
-命名习惯
a.使用良好命名 (必须地,其余仅供参考)
b.函数单词开头大小写
c.常量大写
d. 变量小写
提醒:PHP是区别大小写的
4.mysql
-Mysql(小型关系型数据库管理系统)
a.体积小
b.速度快
c.成本低
d.开源
MYSQL默认使用的是3306端口
-存储引擎(存储表数据的类型)
a.MyISAM:较高的插入、查询速度,但不支持事务;默认。
b.InnoDB:支持事务
-phpMyAdmin(Web方式访问Mysql)
-类型小解
精度:指数值数据中所存储的十进制数据的总位数。
长度:指存储数据所使用的字节数
int
1.整数型
2.精度10
3.数值范围(-2147483648~2147483648)
4.长度4
注意:
int(n)
1.指定整数值的显示宽度
2.实际的宽度小于指定列宽度时,从左侧填满宽度
3.不改变长度,不改变数值范围
字符型
char/varchar(n) //n表示长度
当列中字符数据值长度一致时,使用char,长度不同时,使用varchar可以节省存储空间
-基本sql语句
a.SELECT 字段 FROM 表 WHERE 条件
b.INSERT INTO 表(字段)VALUES(值)
c.UPDATE 表 SET 更新内容 WHERE 条件
d.DELETE FROM 表 WHERE 条件
多练习是关键
查询语句之后:
1.分组:group by
2.排序:order by ASC/DESC
3.限制:limit O,N
对于limit来说,O为偏移量,跟数组一样是从0开始算起,N为数量
如:limit 1,5 相当于从第二条开始往后5条记录
5.php操作mysql
-基本步骤:
mysql_connect("hostname","username","password") //连接MYSQL
mysql_select_db("database_name"); //打开数据库
mysql_query($sql); //执行sql语句
mysql_fetch_array($result) //取值
mysql_query:
1.sql=select 时,执行成功返回一个资源标识符,执行错误返回FALSE
注意:查询成功不代表一定有结果,只说明语句正确
2.sql=insert/update时,执行成功返回TRUE,执行错误返回FALSE
mysql_fetch_array()
1.取得query(sql)的结果集中的一行保存到数组
2.依次调用将返回结果集中的下一行
3.可以通过字段名作索引
-中文编码
避免乱码:
1.建立数据库时,要选择相应的字符集。全国通用:GBK/gb2312;世界通用:UTF-8(建议选用)。
2.连接mysql时,加入连接字符集 "set names GBK";
注意:如果你set names UTF8,那么就应该设置页面编码为UTF-8
代码如下 | 复制代码 |
///////////////封装Php连接Mysql函数//////////////// function PHPConnectMysql($hostname,$username,$password,$database,$charaset){ mysql_connect($hostname,$username,$password); mysql_select_db($database); mysql_query("set names $charaset"); } |
小结:平时多积累,将特定功能函数化,以便重复利用
一个php入门的基础教程关于in_array函数的使用方法,有需要的朋友可以参考一下。bool in_array ( mixed $needle , array $haystack [, bool $strict ] )
在 haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE。
如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。
Note:
如果 needle 是字符串,则比较是区分大小写的。
Note:
在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。
注释:如果 value 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。
Example #1 in_array() 例子
代码如下 | 复制代码 |
<?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; } ?> |
第二个条件失败,因为 in_array() 是区分大小写的,所以以上程序显示为:
Got Irix
Example #2 in_array() 严格类型检查例子
代码如下 | 复制代码 |
<?php if (in_array('12.4', $a, true)) { |
注:in_array函数返回的是0,1
当转换为 boolean 时,以下值被认为是 FALSE:
布尔值 FALSE
整型值 0(零)
浮点型值 0.0(零)
空白字符串和字符串 "0"
没有成员变量的数组
没有单元的对象
特殊类型NULL(包括尚未设定的变量)
所有其它值都被认为是 TRUE(包括任何资源)。
警告
-1 和其它非零值(不论正负)一样,被认为是 TRUE
关键字和特殊变量
new,class,extends。这三个,大家都懂得。
::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量。还可以用于覆盖类中的成员和方法。
parent和self。parent指的就是派生类在 extends 声明中所指的基类的名字。这样做可以避免在多个地方使用基类的名字。
$this 伪变量。$this指向当前的实例。$this却不一定是方法所属的对象。有时候类A内的代码会调用类B的一个静态方法。参考例子:php.net/manual/zh/language.oop5.basic.php">http://www.php.net/manual/zh/language.oop5.basic.php
static关键字。如果声明类成员或方法为static,就可以不实例化类而直接访问。但是,除了静态方法,不能通过一个对象来访问其中的静态成员。在静态方法中,不使用$this。而使用self:: 。
final关键字。可以作用于类(class)和方法(function),会使类不能被继承,方法不能被覆盖。
属性
可以初始化,但初始化的值必须是常数。常量前面用const个关键字,常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。
构造函数和析构函数
这两个函数都不会暗中调用基类的响应函数,这跟java的构造器机制不一样。要达到这样的效果,必须显示执行。析构函数中不能抛出异常。
抽象类:声明为抽象的类方法不能包含具体实现,抽象类不能实例化。必须先被继承,再实例化其子类。而且子类的访问控制要和抽象类一样,或者更加宽松。抽象类至少包含一个抽象方法的。
接口
使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
定义的所有方法都必须是public,且方法为空
可以定义常量,但是没有属性
接口的实现(implements)必须实现所有方法,而且可以实现多个接口(注意,方法不能重名)。
接口可以被另外的接口继承 (extends)
代码如下 | 复制代码 |
<? class VipUser extends AbstractUser { class InnerUser extends AbstractUser { |
Product.php
代码如下 | 复制代码 |
<? include_once("User.php"); include_once("Product.php"); //买了产品到底多少钱呢? class ProductSettle{ public static function finalPrice(User $_user,Product $_product,$number = 1){ $price = $_user->getDiscount() * $_product->getProductPrice() * $number; return $price; } } ?> |
下面的例子是实现。大家可以自己分析下。
代码如下 | 复制代码 |
<? $number = 10;
$user = new InnerUser("Tom"); |
这次这个函数是
ksort() 函数按照键名对数组升序排序,为数组值保留原来的键。
可选的第二个参数包含附加的排序标志。
若成功,则返回 TRUE,否则返回 FALSE。
语法
ksort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
sorttype 可选。规定如何排列数组的值。可能的值:
SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。
*:该值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。自 PHP 6 起,必须用 i18n_loc_set_default() 函数。
例子
代码如下 | 复制代码 |
<?php Array( [b] => Cat [c] => Horse [e] => Sog) |
相关文章
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
iPhone6怎么激活?两种苹果iPhone6激活教程图文详解
iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
- 今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
- 支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
- 今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
- 今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
- 今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
- 这篇文章主要为大家详细解析了BootStrap栅格系统、表单样式与按钮样式源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-23
- artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口。本文给大家介绍JS中artdialog弹出框控件之提交表单思路详解,对本文感兴趣的朋友一起学习吧...2016-04-19
- 联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下制作隔离区聊天背景的教程,各位想知道具体方法的,那么下面就快来跟着小编一起看一看吧。 给各位美图秀...2016-09-14
- 有时候我们为了省事就操作键盘组合键去代替使用鼠标,我们今天就使用JQuery实现Ctrl+Enter提交表单。我们发帖时,在内容输入框中输入完内容后,可以点击“提交”按钮来发表内容。可是,如果你够“懒”,你可以不用动鼠标,只需按...2015-10-23
- 一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
- 这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30