PHP教程:迅速学习PHP-Php-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝29
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:188回复:0

  PHP教程:迅速学习PHP

楼主#
更多 发布于:2016-05-21 23:12

:PHP教程:迅速学习PHP.

PHP的语法。

1、嵌入办法:

相似ASP的<%,PHP可所以<?php或许是,当然您也能够自个指定。

2、引证文件:

引证文件的办法有两种:require 及 include。

require 的运用办法如 require(”MyRequireFile.php”);

。这个函数一般放在 PHP 程序的最前面,PHP 程序在履行前,就会先读入 require 所指定引进的文件,使它成为 PHP

程序页面的一部份。常用的函数,亦能够这个办法将它引进页面中。

include 运用办法如 include(”MyIncludeFile.php”);

。这个函数一般是放在流程操控的处理有些中。PHP 程序页面在读到 include 的文件时,才将它读进来。这种办法,能够把程序履行时的流程简略化。

3、注释办法:

<?php

echo “这是榜首种比方。n” ; // 本例是 C 语法的注释

/* 本例选用多行的

注释办法 */

echo “这是第二种比方。n” ;

echo “这是第三种比方。n” ; # 本例运用 UNIX Shell 语法注释

?>

4、变量类型:

$mystring = “我是字符串” ;

$NewLine = “换行了n” ;

$int1 = 38 ;

$float1 = 1.732 ;

$float2 = 1.4E 2 ;

$MyArray1 = array( “子” , “丑” , “寅” , “卯” );

这儿引出两个疑问,首要PHP变量以$最初,第二PHP句子以;结尾,也许ASP程序员会不适应。这两个遗失也是程序上大多过错地点。

5、运算符号:

数学运算: 符号 含义

加法运算

- 减法运算

* 乘法运算

/ 除法运算

% 取余数

累加

– 递减

字符串运算:

运算符号只需一个,即是英文的句号。它能够将字符串衔接起来,成为合并的新字符串。相似ASP中的&

<?

$a = “PHP 4″ ;

$b = “功用强大” ;

echo $a.$b;

?>

这儿也引出两个疑问,首要PHP中输出句子是echo,第二相似ASP中的<%=变量%>,PHP中也能够。

逻辑运算:

符号 含义

< 小于

> 大于

<= 小于或等于

>= 大于或等于

== 等于

!= 不等于

&& 并且 (And)

and 并且 (And)

|| 或许 (Or)

or 或许 (Or)

xor 异或 (Xor)

! 不 (Not)

php的流程操控

1、if..else 循环有三种构造

榜首种是只需用到 if 条件,当作单纯的判别。解说成 “若发作了某事则如何处理”。语法如下:

if (expr) { statement }

其间的 expr 为判别的条件,一般都是用逻辑运算符号当判别的条件。而 statement

为契合条件的履行有些程序,若程序只需一行,能够省掉大括号 {}。

典范:本例省掉大括号。

<?php

if ($state==1)echo “哈哈” ;

?>

这儿特别留意的是,判别是不是持平是==而不是=,ASP程序员也许常犯这个过错,= 是赋值。

典范:本例的履行有些有三行,不行省掉大括号。

<?php

if ($state==1) {

echo “哈哈 ;

echo “

” ;

}

?>

第两种是除了 if 以外,加上了 else 的条件,可解说成

“若发作了某事则如何处理,不然该如何处理”。语法如下

if (expr) { statement1 } else { statement2 }

典范:上面的比方来修正成更完整的处理。其间的 else 由于只需一行履行的指令,因而不必加上大括号。

<?php

if ($state==1) {

echo “哈哈” ;

echo “

”;

}

else{

echo “呵呵”;

echo “

”;

}

?>

第三种即是递归的 if..else 循环,一般用在多种决议计划判别时。它将数个 if..else

拿来合并运用处理。

直接看下面的比方

<?php

if ( $a > $b ) {

echo “a 比 b 大” ;

} elseif ( $a == $b ) {

echo “a 等于 b” ;

} else {

echo “a 比 b 小” ;

}

?>

上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实践要运用这种递归

if..else 循环时,请当心运用,由于太多层的循环简略使规划的逻辑出疑问,或许少打了大括号等,都会造成程序呈现不行思议的疑问。

2、 for 循环就单纯只需一种,没有改动,它的语法如下

for (expr1; expr2; expr3) { statement }

其 中的 expr1 为条件的初始值。expr2 为判别的条件,一般都是用逻辑运算符号

(logical operators) 当判别的条件。expr3 为履行 statement 后要履行的部份,用来改动条件,供下次的循环判别,如加一..等等。而

statement 为契合条件的履行有些程序,若程序只需一行,能够省掉大括号 {}。

下例是用 for 循环写的的比方。

<?php

for ( $i = 1 ; $i <= 10 ; $i ) {

echo “这是第”.$i.”次循环

;

}

?>

3、 switch 循环,一般处理复合式的条件判别,每个子条件,都是 case

指令有些。在实作上若运用许多相似的 if 指令,能够将它综组成 switch 循环。

语法如下

switch (expr) { case expr1: statement1; break;

case expr2: statement2; break; default: statementN; break; }

其间的 expr 条件,一般为变量称号。而 case 后的

exprN,一般表明变量值。冒号后则为契合该条件要履行的有些。留意要用 break 跳离循环。

<?php

switch ( date ( “D” )) {

case “Mon” :

echo “今日星期一” ;

break;

case “Tue” :

echo “今日星期二” ;

break;

case “Wed” :

echo “今日星期三” ;

break;

case “Thu” :

echo “今日周四” ;

break;

case “Fri” :

echo “今日星期五” ;

break;

default:

echo “今日放假” ;

break;

}

?>

这儿需求留意的是break;别遗失了,default,省掉是能够的。

很明显的,上述的比方用 if

循环就很费事了。当然在规划时,要将呈现机率最大的条件放在最前面,最少呈现的条件放在最终边,能够增加程序的履行功率。上例由于天天呈现的机率一样,所以不必留意条件的次序。

构建数据库

在ASP中,假如是ACCESS数据库你能够直接翻开ACCESS来修正MDB文件,假如是 SQL

SERVER你能够翻开公司管理器来修正SQL SERVER数据库,可是在PHP中,MY

SQL的命令行修正也许会令初学者感到很费事,没联系,你下载一个PHPMYADMIN装置一下,今后树立修正数据库能够靠它了。

下面说一下它的运用。

进入了phpmyadmin后,咱们首要需求树立一个数据库,Language (*)

这儿挑选中文简体,然后在左面的 创立一个新的数据库 这儿填写数据库姓名,点击创立即可。

然后在左面下拉菜单中挑选那个现已创立的数据库。鄙人面的

在数据库 shop 中创立一个新表 :

姓名 :

字段数 :

中填写表姓名和大致你以为的字段数(不行或许多了都没联系,今后能够再增加或许缺省),按履行。

然后就能够开端树立表了。

榜首栏是字段的姓名;第二栏挑选字段类型:

咱们常用的是以下几个:

1)VARCHAR,文本类型

2)INT,整数类型

3)FLOAT,浮点数类型

4)DATE,日期型

5)咱们或许会问,主动增加的ID在哪里?这个只需挑选INT类型,在后边的额定中挑选

auto_increment 就能够了。

树立了表今后,能够在左面看到你树立的表,点击今后,你能够:

1)按右边的构造:检查修正表构造

2)按右边的浏览:检查表中的数据

3)按右边的SQL:运转SQL句子

4)按右边的刺进:刺进一行记载

5)按右边的清空:删去表中一切记载

6)按右边的删去:删去表

有一个很主要的功用即是导入和导出,当咱们本机做好了程序和数据库的时分,需求在服务器上也有一个本地镜像,假如是ASP的ACCESS简略了,直接上载

MDB文件即可,假如是SQL SERVER也能够衔接远端服务器进行导入。那么MY

SQL中你能够导出一切的SQL句子,到了远端服务器的PHPMYADMIN上,创立数据库后按SQL,粘帖你方才仿制下来的一切本级生成的SQL句子即 可。

学会衔接数据库

PHP几乎即是一个函数库,丰厚的函数使PHP的某些当地适当简略。建议咱们down一本PHP的函数手册,总用的到。

我这儿就简略说一下衔接MYSQL数据库。

1、mysql_connect

翻开 MySQL 服务器衔接。

语法: int mysql_connect(string [hostname] [:port],

string [username], string [password]); 回来值: 整数

本 函数树立与 MySQL 服务器的衔接。其间一切的参数都可省掉。当运用本函数却不加任何参数时,参数

hostname 的默认值为 localhost、参数 username 的默认值为 PHP 履行行程的具有者、参数 password 则为空字符串

(即没有密码)。而参数 hostname 后边能够加冒号与端口号,代表运用哪个端口与 MySQL 衔接。当然在运用数据库时,早点运用 mysql_close()

将衔接关掉能够节省资本。

2、 mysql_select_db

挑选一个数据库。

语法: int mysql_select_db(string database_name, int

[link_identifier]); 回来值: 整数

本函数挑选 MySQL 服务器中的数据库以供今后的材料查询工作 (query) 处理。成功回来

true,失利则回来 false。

最简略的比方即是:

$conn=mysql_connect (”127.0.0.1″, “”, “”);

mysql_select_db(”shop”);

衔接机MY SQL数据库,翻开SHOP数据库。在实践运用中应当加强点过错判别。

读取数据

先看两个函数:

1、mysql_query

送出一个 query 字符串。 语法: int mysql_query(string query,

int [link_identifier]); 回来值: 整数

本 函数送出 query 字符串供 MySQL 做相关的处理或许履行。若没有指定

link_identifier 参数,则程序会主动寻觅最近翻开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE

时,回来的也许是 true 或许 false;查询的字符串是 SELECT 则回来新的 ID 值,当回来 false

时,并不是履行成功但无回来值,而是查询的字符串有过错。

2、mysql_fetch_object 回来类材料。 语法: object

mysql_fetch_object(int result, int [result_typ]); 回来值: 类

本函数用来将查询成果 result 拆到类变量中。若 result 没有材料,则回来 false

值。

看一个简略的比方:

<?

$exec=”select * from user”;

$result=mysql_query($exec);

while($rs=mysql_fetch_object($result))

{

echo “username:”.$rs->username.”

”;

}

?>

当然,表user中有一个username的字段,这就相似asp中的

<%

exec=”select * from user”

set rs=server.createobject(”adodb.recordset”)

rs.open exec,conn,1,1

do while not rs.eof

response.write

“username:”&rs(”username”)&”

rs.movenext

loop

%>

当然先要衔接数据库,一般咱们

require_once(’conn.php’);而conn.php里边即是上一次说的衔接数据库的代码。

增加删去修正数据

mysql_query($exec);

单这个句子就能够履行一切的操作了,不一样的即是$exec这个sql句子

增加:$exec=”insert into tablename (item1,item2)

values (’”.$_POST['item1'].”‘,”.$_POST['item1'].”)”;

删去:$exec=”delete from tablename where…”;

修正:$exec=”update tablename set

item1=’”.$_POST['item1'].”‘ where …”;

提到这儿就要说一下表单和php变量传递,假如表单中的一个

表单以POST提交的,那么处理表单文件就能够用$_POST['item1']得到变量值,同样以GET提交的即是$_GET['item1']

是不是很简略?可是一般$exec会有疑问,由于也许您的SQL句子会很长,您会遗失.衔接符,或许’来围住字符型字段。

我 们能够注释mysql_query($exec);句子用echo

$exec;替代来输出$exec以检查准确性。假如您还不能察觉$exec有什么过错的话,能够仿制这个sql句子到phpmyadmin中履行,看看

它的犯错信息。还有需求留意的是,咱们不要运用一些灵敏的字符串作为字段姓名,不然很也许会呈现疑问,比方说date什么的。变量的命名,字段的命名遵从

一点规则有的时分对自个是一种优点,初学者并不行忽视其主要性。

SESSION的运用

SESSION的效果许多,最多用的即是站点内页面间变量传递。在页面开端咱们要session_start();敞开SESSION;

后就能够运用SESSION变量了,比方说要赋值即是:$_SESSION['item']=”item1″;要得到值就

是$item1=$_SESSION['item'];,很简略吧。这儿咱们也许会运用到一些函数,比方说判别是不是某SESSION变量为空,能够这么

写:empty($_SESSION['inum'])回来true or false。

下面归纳一下前面所说的咱们来看一个登入程序,判别用户名密码是不是准确。

登入表单是这么:login.php

[table][tr][/tr][/table]

[table][tr][/tr][/table]

[table][tr][td][/td][/tr][/table]

[table][tr][/tr][/table]

[table][tr][td]

Administrators

Login[/td][/tr][/table]

[table][tr][/tr][/table]

[table][tr][td]

Username[/td][/tr][/table]

[table][tr][td][/td][/tr][/table]


Password

处理文件是这么

<?

require_once(’conn.php’);

session_start();

$username=$_POST['username'];

$password=$_POST['password'];

$exec=”select * from admin where

username=’”.$username.”‘”;

if($result=mysql_query($exec))

{

if($rs=mysql_fetch_object($result))

{

if($rs->password==$password)

{

$_SESSION['adminname']=$username;

header(”location:index.php”);

}

else

{

echo “

”;

 

}

}

else

{

echo “

”;

 

}

}

else

{

echo “

”;

 

}

?>

conn.php是这么:

<?

$conn=mysql_connect (”127.0.0.1″, “”, “”);

mysql_select_db(”shop”);

?>

由于

$_SESSION['adminname']=$username;咱们能够这么写验证是不是登入句子的文件:checkadmin.asp

<?

session_start();

if($_SESSION['adminname']==”)

{

echo “

”;

 

}

?>

做一个分页显现

要害即是用到了SQL句子中的limit来限制显现的记载从几到几。咱们需求一个记载当前页的变量$page,还需求一共的记载数$num

关于$page假如没有咱们就让它=0,假如有<0就让它也=0,假如超过了总的页数就让他=总的页数。

$execc=”select count(*) from tablename “;

$resultc=mysql_query($execc);

$rsc=mysql_fetch_array($resultc);

$num=$rsc[0];

这么能够得到记载总数

ceil($num/10))假如一页10记载的话,这个即是总的页数

所以能够这么写

if(empty($_GET['page']))

{

$page=0;

}

else

{

$page=$_GET['page'];

if($page<0)$page=0;

if($page>=ceil($num/10))$page=ceil($num/10)-1;//由于page是从0开端的,所以要-1

}

这么$exec能够这么写 $exec=”select * from tablename limit

“.($page*10).”,10″;

//一页是10记载的

最终咱们需求做的即是几个衔接:

FirstPage

<a

href=”xxx.php?page=”>PrevPage

<a

href=”xxx.php?page=”>NextPage

<a

href=”xxx.php?page=”>LastPage

留意事项

1、留意不要漏了分号

2、留意不要漏了变量前的$

3、运用SESSION的时分留意不要遗失session_start();

假如发作过错的时分,能够选用以下办法:

1、假如是SQL句子犯错,就注释了然后输出SQL句子,留意也要注释调后续的履行SQL句子

2、假如是变量为空,大多是没有传递到位,输出变量检查一下,检查一下表单的id和name

3、假如是数据库衔接犯错,检查是不是准确翻开MY SQL和是不是遗失了衔接句子

4、留意缩进,排除括号不区配的过错

做大网站的时分,我的思路是先构建数据库,断定每一个字段的效果,和表之间的联系。然后规划后台界面,从增加数据开端做起,由于增加是不是成功用够直接到数

据库里边验证,做好了增加再做显现的页面,最终才是两者的联系。一般来说后台就包含增加删去修正和显现,后台没有疑问了,前台也没有什么大疑问。前台还需

要留意安全性和容错还有即是输出格局。

用PHP上载文件和发邮件

上载文件表单有必要加上 enctype=”multipart/form-data”

下面看一下代码:

$f=&$HTTP_POST_FILES['file'];

$dest_dir=’uploads’;//设定上载目录

$dest=$dest_dir.’/’.date(”ymd”).”_”.$f['name'];//我这儿设置文件名为日期加上文件名防止重复

$r=move_uploaded_file($f['tmp_name'],$dest);

chmod($dest, 0755);//设定上载的文件的属性

上载的文件名为date(”ymd”).”_”.$f['name']

,能够在今后刺进到数据库的时分用到,PHP实践上是把你上载的文件从暂时目录移动到指定目录。move_uploaded_file($f['tmp_name'],$dest);这是要害

至于发邮件就愈加简略,能够运用mail()函数

mail(”收件人地址”,”主题”,”正文”,”From:发件人rnReply-to:发件人的地址”);

不过mail()需求服务器的支撑,在WINDOWS下还需求装备SMTP服务器,一般来说外面的LINUX空间都行。

如同上载文件和发邮件比ASP简略许多,只需调用函数就能够了。ASP还需求用到服务器的不一样组件比方FSO、JMAIL什么的。

优质IT资源分享社区为你提供此文。

本站有大量优质php教程视频,资料等资源,包含php基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

php教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客