当前位置:编程学习 > php >>

日期、表单接收、session、cookie(php教程三)

本教程主要是讲一下关于日期、表单接收、session、cookie在php教程应用与使用方法,下面我们一一举例说明了关于php中这些入门教程也是基础要学的内容。

session

 

<?php
session_start();//session在浏览器关闭后马上失效,需要这样声明才能读写session
$_session['id']='服务器';//这就是声明和初始化了,和数组用法一样
$_session['name']='会话';
print_r($_session);//会话注册成功输出一个数组
echo "<br>";
$_session['id']='还是服务器';//改变一个会话,再输出看看
unset($_session['name']);//注销一个会话,再输出看看
print_r($_session);
echo "<br>";
?>

会话支持允许用户注册任意数目的变量并保留给各个请求使用。当来客访问网站时,php 会自动(如果 session.auto_start 被设为 1)或在用户请求时(由 session_start() 明确调用或 session_register() 暗中调用)检查请求中是否发送了特定的会话 id。如果是,则之前保存的环境就被重建

page1.php

session_start();
echo 'welcome to page #1';
/* 创建session变量并给session变量赋值 */
$_session['favcolor'] = 'green';
$_session['animal'] = 'cat';
$_session['time'] = time();


page2.php

session_start();
print $_session['animal']; // 打印出单个session
var_dump($_session); // 打印出page1.php传过来的session值

 

get,

$_get 变量
$_get 变量是一个数组,内容是由 http get 方法发送的变量名称和值。

$_get 变量用于收集来自 method="get" 的表单中的值。从带有 get 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。

例子

<form action="welcome.php" method="get">
name: <input type="text" name="name" />
age: <input type="text" name="age" />
<input type="submit" />


</form>当用户点击提交按钮时,发送的 url 会类似这样:

http://www.zzzyk.com/welcome.php?name=peter&age=37"welcome.php" 文件现在可以通过 $_get 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_get 数组中的 id 键):

welcome <?php echo $_get["name"]; ?>.<br />
you are <?php echo $_get["age"]; ?> years old!

看个简单详细的实例

<?php
echo $str=urlencode("第一页");//url变量编码,跟google一样
echo "<br>".urldecode($str);//url变量解码,我看到了
echo "<br><a href=index.php?page=".$str.">第一页</a>";
echo "<br>";
if($_get)echo "变量已接收:".$_get['page'];//$_get对应$_post,php是自动识别url编码并自动解码好的。
echo "<br>";
?>

cookie

php cookie 用法
$time = time() + 300;    //5分钟过期
$code = md5($string . $time . $salt);
setcookie('check_time', $time);
setcookie('code', $code);

//验证部分
$time = time();
if($check_time < $time)//如果服务器时间比验证时间大,算过期
    //expire过期
   
if(md5($string . $check_time . $salt) !== $code)
    //错误
其实这种方法相对好一点,因为过期不能提交了,但是过期之前还是可以无限提交的

看一cookie实例

 

<?php
setcookie("id","客户端");//这就是声明和初始化cookie的函数。关闭浏览器即失效
setcookie("name","会话",time()+3600);//自此1小时后失效
print_r($_cookie);//会话注册成功输出一个数组,也可以用$http_cookie_vars访问
echo "<br>";
setcookie("id","还是客户端");//改变一个会话,再输出看看
unset($_cookie['name']);//注销一个会话,再输出看看,等价于setcookie("name","",time()-1);这是很多书上说的,其实用unset也能注销
print_r($_cookie);
echo "<br>";
?>

日期

 

<?php
echo time();//返回一串以秒计算的时间数字戳
echo "<br>";
echo date("y-m-d h:i:s",time()+8*3600);//格式化时间,+8*3600变为中国时区时间
echo "<br>";
$str="2010-08-24 10:26:10";
echo date("y-m-d h:i:s",strtotime($str));//strtotime将字符串转为时间戳
echo "<br>";
?>
补充:Php教程,Php入门 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,