ASP网页设计一天学会PHP~!
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。只必要一天,只需你专心往看和学,必定行.这里但愿人人必要分明一点,这只是在讲怎样疾速进门,更好的熟悉PHP!也能低级把握PHP基本常识!PHP言语胸无点墨!并非一两天就可以学会的!要临时学下往才能够!上面我绿苹果带人人走进PHP的进门之路
申明:
我这里临时是以Apachewebserver和MYSQL作为WEB服务器和数据库,在php-4.3.3下的情况做的程序。固然要复杂的构建和会见检察数据库PHPMYADMIN不成少
这里必要明白HTML基本常识!没有HTML基本常识的!能够往百度大概GOOGLE搜下!很复杂的!这里就未几说了
好了我们入手下手吧!我们就把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"这是第一种例子。
";//本例是C++语法的正文(PHP的正文跟C差未几!)
/*本例接纳多行的
正文体例*/
echo"这是第二种例子。
";
echo"这是第三种例子。
";#本例利用UNIXShell语法正文
?>
4、变量范例:
$mystring="我是字符串";
$NewLine="换行了
";
$int1=38;
$float1=1.732;
$float2=1.4E+2;
$MyArray1=array("子","丑","寅","卯");
这里引出两个成绩,起首PHP变量以$开首,第二PHP语句以;开头,大概ASP程序员会不顺应。这两个漏掉也是程序上年夜多毛病地点。
5、运算标记:
数**不法字眼已被屏障**算:
标记意义
+加法运算
-减法运算
*乘法运算
/除法运算
%取余数
++累加
--递加
字符串运算:
运算标记只要一个,就是英文的句号。它能够将字符串联接起来,酿成兼并的新字符串。相似ASP中的&
<?
$a="PHP4";
$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"<br>";
}
?>
第两种是除if以外,加上了else的前提,可注释成"若产生了某事则如何处置,不然该怎样办理"。语法以下
if(expr){statement1}else{statement2}典范:下面的例子来修正成更完全的处置。个中的else因为只要一行实行的指令,因而不必加上年夜括号。
<?php
if($state==1){
echo"哈哈";
echo"<br>";
}
else{
echo"呵呵";
echo"<br>";
}
?>
第三种就是递回的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为判别的前提,一般都是用逻辑运算标记(logicaloperators)当判别的前提。expr3为实行statement后要实行的部分,用来改动前提,供下次的轮回判别,如加一..等等。而statement为切合前提的实行部分程序,若程序只要一行,能够省略年夜括号{}。
下例是用for轮回写的的例子。
<?php
for($i=1;$i<=10;$i++){
echo"这是第".$i."次轮回<br>";
}
?>
3、switch轮回,一般处置复合式的前提判别,每一个子前提,都是case指令部分。在实作上若利用很多相似的if指令,能够将它综分解switch轮回。
语法以下
switch(expr){caseexpr1:statement1;break;caseexpr2: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轮回就很贫苦了。固然在计划时,要将呈现机率最年夜的前提放在最后面,起码呈现的前提放在最初面,能够增添程序的实行效力。上例因为天天呈现的机率不异,以是不必注重前提的按次。
学会构建数据库
在PHP中,MYSQL的命令行编纂大概会令初学者感应很贫苦,没关系,你下载一个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文件便可,假如是SQLSERVER也能够毗连远端服务器举行导进。那末MYSQL中你能够导出一切的SQL语句,到了远端服务器的PHPMYADMIN上,创立数据库后按SQL,粘帖你方才复制上去的一切本级天生的SQL语句便可。
学会毗连数据库
PHP几乎就是一个函数库,丰厚的函数使PHP的某些中央相称复杂。倡议人人down一本PHP的函数手册,总用的到。
我这里就复杂说一下毗连MYSQL数据库。
1、mysql_connect
翻开MySQL服务器毗连。
语法:intmysql_connect(string[:port],string,string);前往值:整数
本函数创建与MySQL服务器的毗连。个中一切的参数都可省略。当利用本函数却不加任何参数时,参数hostname的默许值为localhost、参数username的默许值为PHP实行路程的具有者、参数password则为空字符串(即没有暗码)。而参数hostname前面能够加冒号与端标语,代表利用哪一个端口与MySQL毗连。固然在利用数据库时,早点利用mysql_close()将毗连关失落能够节俭资本。
2、mysql_select_db
选择一个数据库。
语法:intmysql_select_db(stringdatabase_name,int);前往值:整数
本函数选择MySQL服务器中的数据库以供以后的材料查询功课(query)处置。乐成前往true,失利则前往false。
最复杂的例子就是:
$conn=mysql_connect("127.0.0.1","","");
mysql_select_db("shop");
毗连机MYSQL数据库,翻开SHOP数据库。在实践使用中应该增强点毛病判别。
学会读取数据
先看两个函数:
1、mysql_query
送出一个query字符串。语法:intmysql_query(stringquery,int);前往值:整数
本函数送出query字符串供MySQL做相干的处置大概实行。若没有指定link_identifier参数,则程序会主动寻觅比来翻开的ID。当query查询字符串是UPDATE、INSERT及DELETE时,前往的多是true大概false;查询的字符串是SELECT则前往新的ID值,当前往false时,并非实行乐成但无前往值,而是查询的字符串有毛病。
2、mysql_fetch_object前往类材料。语法:objectmysql_fetch_object(intresult,int);前往值:类
本函数用来将查询了局result拆到类变量中。若result没有材料,则前往false值。
看一个复杂的例子:
<?
$exec="select*fromuser";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
{
echo"username:".$rs->username."<br>";
}
?>
固然,表user中有一个username的字段,这就相似asp中的
<%
exec="select*fromuser"
setrs=server.createobject("adodb.recordset")
rs.openexec,conn,1,1
dowhilenotrs.eof
response.write"username:"&rs("username")&"<br>"
rs.movenext
loop
%>
固然先要毗连数据库,一样平常我们require_once(conn.php);而conn.php内里就是上一次说的毗连数据库的代码。
小小的两条命令能够完成读取数据的事情了
学会增加删除修正数据
mysql_query($exec);
单这个语句就能够实行一切的操纵了,分歧的就是$exec这个sql语句
增加:$exec="insertintotablename(item1,item2)values(".$_POST.",".$_POST.")";
删除:$exec="deletefromtablenamewhere...";
修正:$exec="updatetablenamesetitem1=".$_POST."where...";
说到这里就要说一下表单和php变量传送,假如表单中的一个<inputname="item1"type="text"id="item1">
表单以POST提交的,那末处置表单文件就能够用$_POST失掉变量值,一样以GET提交的就是$_GET
是否是很复杂?可是一般$exec会有成绩,由于大概您的SQL语句会很长,您会漏掉.毗连符,大概来包抄字符型字段。
我们能够正文mysql_query($exec);语句用echo$exec;取代来输入$exec以反省准确性。假如您还不克不及发觉$exec有甚么毛病的话,能够复制这个sql语句到phpmyadmin中实行,看看它的堕落信息。另有必要注重的是,我们不要利用一些敏感的字符串作为字段名字,不然极可能会呈现成绩,好比说date甚么的。变量的定名,字段的定名遵守一点纪律有的时分对本人是一种优点,初学者其实不可无视其主要性。
学会SESSION的利用
SESSION的感化良多,最多用的就是站点内页面间变量传送。
在页面入手下手我们要session_start();开启SESSION;
然后就能够利用SESSION变量了,好比说要赋值就是:$_SESSION="item1";要失掉值就是$item1=$_SESSION;,很复杂吧。这里我们大概会利用到一些函数,好比说判别是否是某SESSION变量为空,能够这么写:empty($_SESSION)前往trueorfalse。
上面综合一下后面所说的我们来看一个上岸程序,判别用户名暗码是不是准确。
上岸表单是如许:login.php
<tablewidth="100%"height="100%"border="0"align="center"cellpadding="0"cellspacing="0">
<tr>
<formaction="checklogin.php"method="post"><tdalign="center"valign="middle"><tablewidth="400"border="0"cellpadding="5"cellspacing="1"class="tablebg">
<trclass="tdbg">
<tdcolspan="2"><divalign="center">AdministratorsLogin</div></td>
</tr>
<trclass="tdbg">
<td><divalign="center">Username</div></td>
<td><divalign="center">
<inputname="username"type="text"id="username">
</div></td>
</tr>
<trclass="tdbg">
<td><divalign="center">Password</div></td>
<td><divalign="center">
<inputname="password"type="password"id="password">
</div></td>
</tr>
<trclass="tdbg">
<tdcolspan="2"><divalign="center">
<inputtype="submit"name="Submit"value="Submit">
<inputtype="reset"name="Submit2"value="Clear">
</div></td>
</tr>
</table></td></form>
</tr>
</table>
处置文件是如许
<?
require_once(conn.php);
session_start();
$username=$_POST;
$password=$_POST;
$exec="select*fromadminwhereusername=".$username."";
if($result=mysql_query($exec))
{
if($rs=mysql_fetch_object($result))
{
if($rs->password==$password)
{
$_SESSION=$username;
header("location:index.php");
}
else
{
echo"<script>alert(PasswordCheckError!);location.href=login.php;</script>";
}
}
else
{
echo"<script>alert(UsernameCheckError!);location.href=login.php;</script>";
}
}
else
{
echo"<script>alert(DatabaseConnectionError!);location.href=login.php;</script>";
}
?>
conn.php是如许:
<?
$conn=mysql_connect("127.0.0.1","","");
mysql_select_db("shop");
?>
因为$_SESSION=$username;我们能够如许写考证是不是上岸语句的文件:checkadmin.php
<?
session_start();
if($_SESSION==)
{
echo"<script>alert(PleaseLoginFirst);location.href=login.php;</script>";
}
?>
做一个分页显现
关头就是用到了SQL语句中的limit来限制显现的纪录从几到几。我们必要一个纪录以后页的变量$page,还必要统共的纪录数$num
关于$page假如没有我们就让它=0,假如有<0就让它也=0,假如凌驾了总的页数就让他=总的页数。
$execc="selectcount(*)fromtablename";
$resultc=mysql_query($execc);
$rsc=mysql_fetch_array($resultc);
$num=$rsc;
如许能够失掉纪录总数
ceil($num/10))假如一页10纪录的话,这个就是总的页数
以是能够这么写
if(empty($_GET))
{
$page=0;
}
else
{
$page=$_GET;
if($page<0)$page=0;
if($page>=ceil($num/10))$page=ceil($num/10)-1;//由于page是从0入手下手的,以是要-1
}
如许$exec能够这么写$exec="select*fromtablenamelimit".($page*10).",10";
//一页是10纪录的
最初我们必要做的就是几个毗连:
<ahref="xxx.php?page=0">FirstPage</a>
<ahref="xxx.php?page=<?=($page-1)?>">PrevPage</a>
<ahref="xxx.php?page=<?=($page+1)?>">NextPage</a>
<ahref="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>
注重事项
1、注重不要漏了分号
2、注重不要漏了变量前的$
3、利用SESSION的时分注重不要漏掉session_start();
假如产生毛病的时分,能够接纳以下办法:
1、假如是SQL语句堕落,就正文了然后输入SQL语句,注重也要正文调后续的实行SQL语句
2、假如是变量为空,年夜多是没有传送到位,输入变量反省一下,反省一下表单的id和name
3、假如是数据库毗连堕落,反省是不是准确翻开MYSQL和是不是漏掉了毗连语句
4、注重缩进,扫除括号不区配的毛病
在做年夜网站的时分,我的思绪是先构建数据库,断定每个字段的感化,和表之间的干系。然后计划背景界面,从增加数据入手下手做起,由于增加是不是乐成能够间接到数据库内里考证,做好了增加再做显现的页面,最初才是二者的分离。一样平常来讲背景就包含增加删除修正和显现,背景没有成绩了,前台也没有甚么年夜成绩。前台还必要注重平安性和容错另有就是输入格局。
学会用PHP上传文件和发邮件
上传文件表单必需加上enctype="multipart/form-data"
和<inputtype="file"name="file">
上面看一下代码:
$f=&$HTTP_POST_FILES;
$dest_dir=uploads;//设定上传目次
$dest=$dest_dir./.date("ymd")."_".$f;//我这里设置文件名为日期加上文件名制止反复
$r=move_uploaded_file($f,$dest);
chmod($dest,0755);//设定上传的文件的属性
上传的文件名为date("ymd")."_".$f,能够在今后拔出到数据库的时分用到,PHP实践上是把你上传的文件从一时目次挪动到指定目次。move_uploaded_file($f,$dest);这是关头
至于发邮件就加倍复杂,可使用mail()函数
mail("收件人地点","主题","注释","From:发件人
Reply-to:发件人的地点");
不外mail()必要服务器的撑持,在WINDOWS下还必要设置SMTP服务器,一样平常来讲表面的LINUX空间都行。
仿佛上传文件和发邮件比ASP复杂良多,只需挪用函数就能够了。ASP还必要用到服务器的分歧组件好比FSO、JMAIL甚么的。
十天学会PHP说到这里了,想告知人人的是PHP进门能够是十天,可是精晓决不是十天啊,还必要人人本人往研讨
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 那么,ASP.Net有哪些改进呢?
页:
[1]