Abstract: 新闻界面添加新功能讲解,PHP中的Cookie和Session以及程序执行函数

cookie常用于识别用户,是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送cookie

1. 如何创建Cookie

setcookie()函数用于设置cookie

setcookie()函数必须位于<html>标签之前

1
2
3
4
5
6
7
8
<?php
/*
setcookie(name, value, expire, path, domain)
发送cookie时,cookie值会自动进行URL编码
取回时进行自动解码
*/
setcookie("user", "test", time()+3600);
?>

2. 取回Cookie值

1
2
3
4
5
6
<?php
//输出cookie值
echo $_COOKIE["user"];
//查看所有cookie
print_r($_COOKIE);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
<meta charset="utf-8">
<title>isset函数</title>
</head>
<body>
<?php
if(isset($_COOKIE["user"]))
echo "欢迎" . $_COOKIE["user"] . "!<br>";
else
echo "普通访客!<br>";
?>
</body>
</html>

3. 删除Cookie

1
2
3
4
<?php
//设置cookie过期时间为过去1小时
setcookie("user", "", time()-3600);
?>

二、PHP Session

PHP session变量用于存储关于用户会话(session)信息,或者更改用户会话的设置,Session变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

1. 开始PHP Session

1
2
3
4
5
<!--session_start()函数必须位于<html>标签之前-->
<?php session_start(); ?>
<html>
<body></body>
</html>

2.存储Session变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php 
session_start();
//存储session数据
$_SESSION['views']=1;
?>
<html>
<head>
<meta charset="utf-8">
<title>Session</title>
</head>
<body>
<?php
//检索session数据
echo "浏览量:" . $_SESSION['views'];
?>
</body>
</html>

一个简单的page-view计数器

1
2
3
4
5
6
7
8
9
<?php
session_start();
if(isset($_SESSION['views'])){
$_SESSION['views'] = $_SESSION['views'] + 1;
}else{
$_SESSION['views'] = 1;
}
echo "浏览器:" . $_SESSION['views'];
?>

3. 销毁Session

unset()

1
2
3
4
5
6
<?php
session_start();
if(isset($_SESSION['views'])){
unset($_SESSION['views']);
}
?>

session_destroy()

1
2
3
<?php
session_destroy();
?>

验证登录用户是否由admin权限

1
2
3
4
5
6
7
8
9
10
<?php
session_start();
if(isset($_SESSION["admin"]) && $_SESSION["admin"]== true){
echo "您已成功登录";
}else{
//验证失败
$_SESSION["admin"] = false;
die("您无权访问");
}
?>

三、PHP包含文件

语句 区别(处理错误方式不同)
require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本停止执行
include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行

语法 include 'filename'; require 'filename'

  • 写一些功能性的函数,比如数据库查询,验证文件后缀是否是允许的。数据库删除,数据清洗waf
  • 写配置信息,数据库连接地址,网站标题,网站作者
  • 统一页面格式
  • 做路由控制

四、PHP中程序执行函数

1. system

system —执行外部程序,并且显示输出

system(command, return var)

1
2
3
4
5
<?php
system("pwd", $result);
//输出命令的结果状态码
echo $result;
?>

2. exec

exec—执行一个外部程序

1
2
3
<?php
echo exec("whoami");
?>

3. shellexec

shellexec—通过shell环境执行命令并且将完整的输出以字符串的方式返回。

1
2
3
4
<?php
$output = shell_exec('ls -lart');
echo $output;
?>

4. eval

eval把字符串按照php代码来计算

1
2
3
4
5
6
7
8
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str . "\n";
eval("\$str = \"$str\";");
echo $str . "\n";
?>

5. assert

assert检查一个断言是否为FALSE