您的位置:首页 > 编程语言 > PHP开发

php基础

2015-07-22 09:54 579 查看
1. 页面跳转常用方法

页面跳转可能是由于用户单击链接、按钮等引发的,也可能是系统自动产生的。

PHP页面跳转一、header()函数

header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。

header()函数的定义如下:

void header (string string [,bool replace [,int http_response_code]])

可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。

第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:1.location和“:”号间不能有空格,否则不会跳转。

2.在用header前不能有任何的输出。

3.header后的PHP代码还会被执行。例如,将浏览器重定向到lamp兄弟连官方论坛。

< ?php
//重定向浏览器
header("Location: http://bbs. lampbrother.net");
//确保重定向后,后续代码不会被执行
exit;
?>


PHP页面跳转二、Meta标签

<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

<meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。

在PHP程序中使用该标签,也可以实现页面跳转。 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面。

若设置content="秒数;url=网址",则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到LAMP兄弟连官方论坛。

<meta http-equiv="refresh"
content="1;url=http://bbs.lampbrother.net">


例如,以下程序meta.php实现在该页面中停留一秒后页面自动跳转到bbs.lampbrother.net。

< ?php
$url = "http://bbs.lampbrother.net"; ?>
< html>
< head>
< meta http-equiv="refresh" content="1;
url=< ?php echo $url; ?>">
< /head>
< body>
页面只停留一秒……
< /body>
< /html>


PHP页面跳转三、JavaScript

例如,此代码可以放在程序中的任何合法位置。

< ?php
$url = "http://bbs.lampbrother.net";
echo "< script language='javascript'
type='text/javascript'>";
echo "window.location.href='$url'";
echo "< /script>";
?>

2. 页面间参数传递
我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。

--------------------------------------------------------------------------------

第一种:

使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。

在page01中设置一个cookie。

复制代码 代码如下:

<?php
setcookie('mycookie','自灵');
?>


就是这么简单,我们已经创建cookie完毕。

我们定义了一个变量mycookie,它的值是字符串'自灵'。

我们可以随便给cookie变量起名字,可以定义多个cookie变量。

在page02页面接受cookie。

复制代码 代码如下:
<?php
$wuziling = $_COOKIE['mycookie'];
echo $wuziling;
?>


我们使用$_COOKIE[]提取cookie中的变量mycookie,将它的值付给$wuziling。然后简单的输出。

好了,到这里使用cookie从页面之间传递参数完毕。

--------------------------------------------------------------------------------

第二种:

使用服务器端的session。理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会话。

在page01中设置一个session。

复制代码 代码如下:
<?php
session_start();
$_SESSION["temp"]=array('123','456','789');
?>


要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。

第二个语句我定义了一个$_SESSION["temp"]数组,数组的名称是$_SESSION["temp"],里面存储了3个字符串。

在page02页面接受session。

复制代码 代码如下:

<?php
session_start();
for($i=0;$i<3;$i++)
{
echo $_SESSION['temp'][$i].'<br />';
}
?>


首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作,这里不同于cookie。

下面我们使用for循环将其内容输出。

【不要以为$_SESSION['temp'][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION["temp"],虽然这个名称比较繁琐,数组的下标是'temp'】

【我们在写$_SESSION["temp"]时,temp加双引号或者单引号都是等价的。】

【这里我们定义会话变量时定义的是数组,也可以定义普通变量,就像cookie里面讲到的】

--------------------------------------------------------------------------------

第三种:

使用表单来传递。

page01.php这样写:


复制代码 代码如下:

<form action="page02.php" method="post">
<input type="text" name="wuziling" />
<input type="submit" name="submit" value="提交" />
</form>


表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。

page02.php这样写:

复制代码 代码如下:

<?php
$wu = $_POST['wuziling'];
echo $wu;
?>


用$_POST[ ]获取传递过来的变量值。这个变量名wuziling在表单的input标签的name属性里定义。

然后将其传递给另外一个变量$wu。这样我们就可以输出了。直接输出也是可以的,echo $_POST['wuziling'];

【如果哪里不明白,请参考本版块的另外一个详细介绍表单提交的帖子】

【method的值也可以是get】

--------------------------------------------------------------------------------

第四种:

使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。

page01.php这样写:


复制代码 代码如下:

<?php
$var = 'I love you !';
?>
<a href="<?php echo "page02.php?new=".$var ?>">get</a>


定义一个变量$var。

超链接a的href属性里写明要跳转到page02页面。后面加一个问号,一个自己定义的变量new【此名称在page02页面要使用】,new的值就是我们想传递的$var。

page02.php这样写:

复制代码 代码如下:

<?php
echo $_GET['new'];
?>


使用$_GET[ ]获取new的值,然后就可以输出或做其他用途。

这时的浏览器地址栏可以直接看到new变量和它的值。

3. php中有$_request与$_post、$_get用于接受表单数据时的区别于联系

1. $_REQUEST



php中$_REQUEST可以获取以POST方法和GET方法提交的数据,但是速度比较慢

2. $_GET

用来获取由浏览器通过GET方法提交的数据。GET方法他是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到,但是有如下缺点:

1. 安全性不好,在URL中可以看得到

2. 传送数据量较小,不能大于2KB。

3. $_POST



用来获取由浏览器通过POST方法提交的数据。POST方法他是通过HTTP POST机制,将表单的各个字段放置在HTTP HEADER内一起传送到action属性所指的URL地址中,用户看不到这个过程。他提交的大小一般来说不受限制,但是具体根据服务器的不同,还是略有不同。相对于_GET方式安全性略高

4. $_REQUEST、$_POST、$_GET 的区别和联系

$_REQUEST["参数"]具用$_POST["参数"] $_GET["参数"]的功能,但是$_REQUEST["参数"]比较慢。通过post和get方法提交的所有数据都可以通过$_REQUEST数组["参数"]获得

4. request与response对象

Request 和 Response 对象起到了服务器与客户机之间的信息传递作用。Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏览器。

一、Request对象的五个集合:
QueryString:用以获取客户端附在url地址后的查询字符串中的信息。
例如:stra=Request.QueryString ["strUserld"]
Form:用以获取客户端在FORM表单中所输入的信息。(表单的method属性值需要为POST)
例如:stra=Request.Form["strUserld"]
Cookies:用以获取客户端的Cookie信息。
例如:stra=Request.Cookies["strUserld"]
ServerVariables:用以获取客户端发出的HTTP请求信息中的头信息及服务器端环境变量信息。
例如:stra=Request.ServerVariables["REMOTE_ADDR"],返回客户端IP地址
ClientCertificate:用以获取客户端的身份验证信息
例如:stra=Request.ClientCertificate["VALIDFORM"],对于要求安全验证的网站,返回有效起始日期。

二、Response对象

Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。

语法格式:Response.Cookies(CookieName)[(key)|.attribute]=value。这里的CookiesName是指定的Cookie的名称,如果指定了Key,则该Cookie就是一个字典,Attribute属性包括Domain,Expires,HasKeys,Path,Secure。

response的方法:

Write:向客户端发送浏览器能够处理的各种数据,包括:html代码,脚本程序等。

Redirect:response.redirect("url")的作用是在服务器端重定向于另一个网页。

End:用来终止脚本程序

Clear:要说到Clear方法,就必须提到response的Buffer属性,Buffer属性用来设置服务器端是否将页面先输出到缓冲区。语法为:Response.Buffer=True/False

Flush:当Buffer的值为True时,Flush方法用于将缓冲区中的当前页面内容立刻输出到客户端。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: