首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP安装/语法/函数 » [原创]浅谈PHP语法(二)  


  作者:pnrj7999
  注册时间:2005-04-04
  主题/回复:73/43
  积分:813
  等级:★★★(六级)
  称号:声名鹊起

用户联系方式已设置为保密

 

 发表:2005-06-06 00:33:31 阅读 2330 次 回复 0 次 得分0  |   字号 字色
[原创]浅谈PHP语法(二)
第四节

文件:deal.php 
<?php 
echo "你的用户名为:$uname"; 
?> 以上程序会要求用户输入一个用户名,提交表单后,后回用户名确认信息。可看出,表单中的uname已成为了deal.php程序中的$uname变崐量。简单吧。:-) 
下面看看PHP的基本流程控制: 
if…else…Elseif 
语法一: 
if (条件) { 
语句体 

语法二: 
if (条件) { 
语句体一 
}else{ 
语句体二 

语法三: 
if (条件1) { 
语句体一 
}elseif(条件2) { 
语句体二 
}else{ 
语句体三 

我们把上面的deal.php程序改为: 
<?php 
if ($uname=="小明") { 
echo "见到你真高兴,小明。"; 
}elseif ($uname=="小华"){ 
echo "喔,是小华呀。"; 
}else{ 
echo "你是$uname,对吧"; 

?> 
除了if 语句外,还有while循环,它的语法如下: 
while(条件){ 
语句体 

当条件为true时,执行语句体。 
do…while的语法如下: 
do { 
语句体 
}while(条件) 
先执行一次语句体,若条件为true,则循环再次执行语句体。 
for循环的语法同C一样,如下: 
for (条件初始;判断条件;条件改变) {语句} 
而break 跳出正在执行的循环,continue 为中断本次循环。 
好了,本文就到这吧。以上的一些基础相信您很快便能上手了的。

第五节

上文中曾提到了PHP提交表单信息是很方便的。可是,提交的表单信息中的变量的生命周期是多长呢?本文就来崐谈谈这个问题。 表单的参数会传给下一个处理程序,这是不用置疑的。因为,我们曾有过这样的例子。可它还会继续传给下一个处理程序吗? 

答案是否定的!一个Form表单所提交的参数只传给第一个处理程序,而下一个处理程序中它是不会起作用的。来看看下例吧: 

文件:table.html 
<html> 
<head><title>表单提交</title> 
</head> 
<body> 
<form action="deal-1.php"> 
输入你认为好的歌星:<input type="text" name="start" size=20 > 
<input type="submit" value="是他了,送出吧"> 
</form> 
</body> 
</html> 

文件:deal-1.php 
<?php 
echo "<html><body>"; 
echo "你喜欢$start,对吗?<br>"; 
echo "<a href=\"deal-2.php\">试试是否会再传下去</a>"; 
echo "</body></html>"; 
?> 
文件:deal-2.php 
<?php 
echo "<html><body>"; 
echo "你说$start好吗?"; 
echo "</body></html>"; 
?> 

从上例中,我们可以看见:deal-1.php处理的结果为(假定我们在table.html中输入的是“张学友”): 你喜欢张学友,对吗? 
试试是否会再传下去 

说明表单提交了变量$start给deal-1.php,而在deal-1.php的显示结果中,若我们点击了链接“试试是否会再传下去”之后,deal-2.ph崐p的处理结果为: 

你说好吗? 

很明显,$start没有传给deal-2.php。但是,我们又怎样延长$start的生命周期呢?其实,这很简单,使用参数传递的方法就行了。如崐下,我们可以把deal-1.php改成这样: 
<?php 
echo "<html><body>"; 
echo "你喜欢$start,对吗?lt;br>"; 
echo "<a href=\"deal-2.php?start=$start\">试试是否会再传下去</a>"; 
echo "</body></html>"; 
?> 
分晰程序,你会发现只是在deal-1.php后加了一句“?start=$start”就行了,而这起的作用就是参数传递。如:http://zhuagk12.oso.崐com.cn/cartoon.php?no=1 其?后的为参数,no为参数名,其值为1。这样,会在cartoon.php程序中产生变量$no,其值为1。若传两个以上崐参数,其间用&分隔。如:http://zhuagk12.oso.com.cn/cartoon.php?no=2&debug=1 
为了延长参数的生命周期,我们还可以使用Cookie或Session来实现,这里不加多述,在以后的文章中你会见到它们的用法。

第六节
Cookie我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。它是为解决HTTP的一次连接而无崐记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认。PHP对此提供了setcookie()函数,可以设定Cookie。因为Cookies算是崐HTTP标头的一部分。所以,setcookie()函数必须在网页数据传给浏览器之前调用。这同调用header()函数是一样的。 
Cookie必须由主机端提供;所以,我们必须在CGI程序中送出一个设定了cookie的标头。如下是PHP中调用setcookie()函数设定cookie的崐例子: <?php 
setcookie("user","wind",time()+3600,"/php/","http://www.oso.com.cn"); 
?> 

   其中,user为该cookie的名称;wind为该cookie的值;time()+3600为该cookie的有效时间;/php/为该cookie的相关路径;http://www.崐oso.com.cn为该cookie的网站。 
   其实,我们除了使用这种方式设定cookie外,还可使用header()函数如:header("Set-Cookie:user=wind"),不过这要对HTTP的头部信崐息有所了解才行,所以笔者不建议使用这种方式,还是使用setcookie()方便些。 
   读取cookie时,浏览器在连接某个网站时,会自动先检查是否有该站的cookie,有的话将会自动传给服务器,而在PHP中,会将传回的co崐okie作为一个变量。如上面所设的cookie返回后,会形成一个$user变量,其值为wind。 
   但是,cookie有个致命的缺点,就是若客户关了cookie接收,无法向客户端存放cookie时,一切操作就会出错。因此,在PHP4中提供了S崐ession来代替Cookie。 
Session与Cookie的最大区别在于Cookie将信息存于客户端,而Session则是存于服务器端。其实,Session是对PHP脚本提供了一个全局崐变量。例子如下: 
设置一个Session,名为user,值为wind 

<?php 
session_start(); 
$user="wind"; 
session_register("user"); 
?> 

读Session,显示结果为“欢迎你!wind” 
?br> <?php 
session_start(); 
echo "欢迎你!$user"; 
?> 
   本文只是浅谈了一下Cookie和Session技术,对于想具体了解该技术的人,还请参考别的书藉。
 
第七节
网上发送Email,可要用到mail()函数了。其格式如下: 

mail(收信人,主题,内容,邮件文件头); 

在网上,发送Email给站长,通常是这样的: <a href="mailto:webmaster@163.com">webmaster@163.com</a> 

这样,当点击了webmaster@163.com这个链接之后,就会启动默认的邮件编缉器来写Email,实在是麻烦,使用mail()函数,便可方便地编出一个在线发信页面。这种页面的收件人是固定的(webmaster@163.com),有需再填收件人地址了,而主题我们也可以将把它定下来。如下例: 

文件:email.html 
<html> 
<head> 
<title>发信给网管</title> 
</head> 
<body> 
<h2 align="center">网管收信</h2><br> 
<hr><br> 
<center> 
<form action="mail.php"> 
发件人:<input type="text" name="from" size=25><br> 
主题:<input type="text" name="subject" size=20><br> 
内容: 
<textarea name="content" cols=80 rows=15>你好,站长:</textarea><br> 
<input type="submit" value="寄出"> <input type="reset" value="重写"><br> 
</form> 
</body></html> 

文件:mail.php 

<?php 
if (empty($from) or empty($subject) or empty($content)) {echo "没有完成填写,请<a href="email.html">返回</a>";} 
$body="[主题] $subjectn"; 
$body.="[发件人] $fromn"; 
$body.=$content; 
$deal=mail("webmaster@163.com",$subject,$body,"From:$from"); 
if ($deal) {echo "寄件成功!";}else{echo "寄件失败!!!";} 
?> 

   PHP介绍到此,也差不多了,你是不是感到了PHP的强大,是不是也想加入PHP的行列,就现在吧。要使自己在PHP中飞翔,这点知识还是崐不足的,它只能帮你入门而已。入门之后,就修行在个人了。我的朋友,再见──(^_^) 
 
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.011sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版