五、 PHP系统预定义变量、$_GET、$_POST、$_SESSION

一、超全局变量:PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

以下这些就是
在这里插入图片描述
PHP里:
全局作用域:在函数外部定义的变量,就称为"全局变量”, 全局变量不能在函数内使用。
局部作用域:在函数内部定义的变量,就称为“局部变量”,局部变量不能在函数外使用。
超全局作用域:没有使用的限制。

第一个:$_GET

说明:就是接收表单或者超链接发送来的数据.
语法:$_GET[‘参数名称’]
示例
代码1_get.html

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
	<title>GET提交</title>
</head>
<body>
	<form action="./1_get.php" method="get">
	  <p>姓名: <input type="text" name="name" /></p>
	  <p>年龄: <input type="text" name="age" /></p>
	  <input type="submit" value="提交" />
	</form>
</body>
</html>

代码1_get.php

<?php
	header("Content-type:text/html; charset=utf-8");
	$name = $_GET['name'];
	$age = $_GET['age'];
	echo "您好!".$name;
	echo "<br />";
	
	if($age >= 18){
		echo "你已经是成年人了!可以做该做的事了!";
	}else{
		echo "你还没成年,你当前的年龄为:{$age}";
	}
?>

结果
在这里插入图片描述
在这里插入图片描述
当不知道有什么参数的时候可以利用var_dump($_GET);来打印全部的数据

超连接方式
在这里插入图片描述

第二个:$_POST

说明:接收表单用POST方式提交的数据
语法:$_POST[‘参数名称’]
示例
代码2_post.html

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
	<title>POST提交</title>

</head>
<body>
	<form action="./2_post.php" method="post">
	  <p>用户名: <input type="text" name="name" /></p>
	  <p>密码: <input type="password" name="pwd"></p>
	  <input type="submit" value="提交" />
	</form>
</body>
</html>

代码2_post.php

<?php
	header("Content-type:text/html; charset=utf-8");

	//假设计一个账号和密码
	$username = "admin";
	$pass = "123456";

	#接收用户提交过来的用户名和密码
	$name = $_POST['name'];
	$pwd = $_POST['pwd'];
	if($name == "" || $pwd == ""){
		echo "用户名或密码不能为空!";
		exit; //退出程序
	}
	//判断用户名是否正确
	if($name!= $username){
		echo "用户名或密码错误!";
		exit;
	}else{
		if($pwd!=$pass){
			echo "用户名或密码错误!";
			exit;
		}else{
			echo "登陆成功!";
		}
	}
?>

结果
在这里插入图片描述
在这里插入图片描述
第三个$_SESSION
$_get和post可以用来接收数据,进行登陆判断的相关操作,但是当我们登陆成功后再访问网站的其它页面就没有办法进行判断用户是否已经登陆了, 这个时候就可以利用session进行存储数据了,其它页面则可以通过判断 session中存储的数据来判断是否真的登陆了,session可以跨页现来使用数据。
示例
代码3_session.html(前端页面)

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
	<title>POST提交</title>
</head>
<body>
	<form action="./3_session.php" method="post">
	  <p>用户名: <input type="text" name="name" /></p>
	  <p>密码: <input type="password" name="pwd"></p>
	  <input type="submit" value="提交" />
	</form>
</body>
</html>

接收用户提交的数据3_session.php(后端页面)

<?php
	header("Content-type:text/html; charset=utf-8");

	//假设计一个账号和密码
	$username = "admin";
	$pass = "123456";

	#接收用户提交过来的用户名和密码
	$name = $_POST['name'];
	$pwd = $_POST['pwd'];

	if($name == $username && $pwd == $pass){
		echo "登陆成功!";
		session_start();	//开启session功能
		$_SESSION['name'] =  $name;	//将用户存入到$_SESSION中

	}else{
		echo "登陆失败!";
		exit;
	}
?>

然后在其它页面进行访问这个$_SESSION[‘name’]

<?php
	header("Content-type:text/html; charset=utf-8");
	session_start();	//开启session功能
	var_dump($_SESSION);	//打印$_SESSION

	echo "<br />你好!".$_SESSION['name'];
?>

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值