程序员人生 网站导航

日期、表单接收、session、cookie

栏目:php教程时间:2014-02-17 11:23:28

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

session:PHP实例代码如下:

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

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

page1.php代码如下:

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

page2.php代码如下:

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

get:$_get 变量

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

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

PHP实例代码如下:

  1. <form action="welcome.php" method="get"
  2. name: <input type="text" name="name" /> 
  3. age: <input type="text" name="age" /> 
  4. <input type="submit" />  
  5. </form> 

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

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

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

看个简单详细的实例,代码如下:

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

cookie:php cookie 用法

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

下面再看一cookie实例,代码如下:

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

日期:代码如下:

  1. <?php  
  2. echo time();//返回一串以秒计算的时间数字戳  
  3. echo "<br>";  
  4. echo date("y-m-d h:i:s",time()+8*3600);//格式化时间,+8*3600变为中国时区时间  
  5. echo "<br>";  
  6. $str="2010-08-24 10:26:10";  
  7. echo date("y-m-d h:i:s",strtotime($str));//strtotime将字符串转为时间戳  
  8. echo "<br>";  
  9. ?> 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐