1.预定义变量
说明:php系统已经定义好变量,我们直接使用
- 超全局变量是在全部作用
- $GLOBALS
- $_SERVER
- $_GET
- $_POST
- $_FILES
- $_REQUEST
- $_SESSION
- $_ENV
- $_COOKIE
- $php_errormsg
- $HTTP_RAW_POST_DATA
- $http_response_header
- $argc
- $argv
2.超全局变量:当前页面变量是有作用域的限制
php中许多预定义变量都是超全局的,这意味着他们在一个脚本的全部作用域中都可以使用
超全局变量有:
- $GLOBALS
- $_SERVER
- $_GET
- $_POST
- $_FILES
- $_COOKIE
- $_SESSION
- $_REQUEST
- $_ENV
全局作用域:在函数外部定义的变量,就称为全局变量,全局变量不能在函数内部使用
局部作用域:在函数内部定义的变量,就称为局部变量,局部变量不能在函数外部使用
超全局作用域:没有使用限制,并且有的超全局还可以跨脚本($_POST、$_GET、$SESSION、$_COOKIE等)
$_GET
说明:就是接收表单或者超链接发送过来的数据
语法:$_GET[‘参数名称’];
案例:
新建一个login.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>网页标题</title> </head> <body> <form action='./get_user_name.php' method='get'> 用户名:<input type="text" name="username"> 密 码:<input type="password" name="password"> <input type="submit" value="提交"> </form> </body> </html>
新建一个get_user_name.php
<?php //给用户名和密码一个初始值(以后在数据库储存的) $user='admin'; $pass='123456'; //获取用户名和密码 $userName=$_GET['username']; $passWord=$_GET['password']; //判断合法性--是否为空 if($userName==''||$passWord==''){ echo'用户名或密码不能为空'; exit; } //判断输入的用户名和密码是否正确 if($userName==$user&&$passWord==$pass){ echo '登陆成功!'; }else{ if($userName!=$user){ echo'用户名错误'; }else{ echo'密码错误'; } } ?>
get的另一种方式:超链接
直接在提交的超链接中加上?和参数值。如:get_user_name.php?username=admin&password=123456
$_POST
说明:接收表单用post方式传递数据的功能
$_SESSION
get和post可以接收数据,可以对数据进行判断,但是不能储存数据
session是告诉浏览器我的数据已经验证过了,登陆成功,session需要存储数据,其他页面通过判断session中的存储数据来判断是否真的登陆,session可以跨页面来使用数据
用户提交数据的表单
接收用户提交的数据
其他页面进行session验证,判断session里面有没有值
<?php //开启session session_start(); if(@$_SESSION['username']==''){ echo '请登陆'; exit; }else{ echo 'session验证成功,用户名为'.$_SESSION['username']; } ?>
评论前必须登录!
注册