§ ITPOW >> 文档 >> PHP

PHP 实用教程-$_GET、$_POST、Cookie、Session

作者:vkvi 来源:ITPOW(原创) 日期:2009-5-25

$_GET、$_POST

$_GET、$_POST 分别用以取客户端通过 get、post 方法传到服务端的数据。

<form action="?action=print" method="post">
    FullName: <input type="text" name="fullName" />
    <input type="submit" value="提交" />
</form>
<?php
$action = $_GET["action"];
if ($action == "print")
{
    $fullName = $_POST["fullName"];
    echo "FullName:" . $fullName;
}?>

在 PHP 中,QueryString 和 Post 的值是存在数组中的,所以有一个缺点,如果 QueryString 或 Post 中并没有某个键(项)时,直接使用就会出错,比如上面的 $action = $_GET["action"]; 这句,在首次访问时就会出错。解决办法是先判断数组中是否有对应的键(项):

if (array_key_exists("action", $_GET))
{
    $action = $_GET["action"];
}

Cookie

setcookie("cookieName", "cookieValue", time()+3600);
echo $_COOKIE["cookieName"];

setcookie 将 Cookie 写入客户端,下次载入网页后,该 Cookie 会被发送到服务器端,然后利用 $_COOKIE(注意没有 S)将值取出来。第三个参数是格林威治时间为基础的,1970 年 1 月 1 日 00:00:00 到指定过期时间的秒数,第四、五个参数分别表示 path、domain,不常用。

$_COOKIE 也是数组,所以也需要先判断键是否存在。

setcookie("cookieName", "", time()-1);

如上代码设置对应 Cookie 的过期时间已到,这样就会清除该 Cookie。

Session

1.php

<?php session_start(); ?>
<?php
$_SESSION["uid"] = 1;
?>

2.php

<?php session_start(); ?>
<?php
echo $_SESSION["uid"];
?>

PHP 中使用 Session,必须先调用 session_start()。

$_SESSION 也是数组,所以也需要先判断键是否存在。

相关文章