[PHP从小白到大牛]-009 PHP中的预定义变量

559 阅读1分钟

总览

什么是预定义变量?

  • PHP提供给大家直接就可以使用的变量,所有的预定义变量都是全局变量
  • 参见: www.php.net/manual/zh/l…

$_POST

  • 可以接收, 所有从前端通过post方法传给后台的值

$_GET

  • 可以接受, 所有从前端通过get方法传给后台的值

$_REQUEST

  • $_REQUEST = $_GET+$_POST+$_COOKIE

从前台获取数据实例

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
</head>
<body>

	<form action="form.php" method="get">
		用户名:<br>
		<input type="text" name="username"  placeholder="请输入用户名">
		<br>
		密码:<br>
		<input type="password" name="password" placeholder="请输入密码">
		<br><br>
		<input type="submit" value="Submit">
	</form> 



</body>
</html>
<?php
echo "用户名为: $_POST[username]";
echo "<br/>";
echo "密码为: $_POST[password]";
echo "<hr/>";
$table_html = <<<TABLE
<table border="1" width="80%">
	<tr>
		<td>用户名</td>
		<td>$_POST[username]</td>
	</tr>
	<tr>
		<td>密码</td>
		<td>$_POST[password]</td>
	</tr>
</table>
TABLE;
echo $table_html;

get和post方法的区别

  • GET在浏览器回退时是无害的,而POST会再次提交请求。
  • GET产生的URL地址可以被Bookmark,而POST不可以。
  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。
  • GET请求只能进行url编码,而POST支持多种编码方式。
  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
  • GET请求在URL中传送的参数是有长度限制的,而POST么有。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
  • GET参数通过URL传递,POST放在Request body中。

小作业

书写以上效果的form表单, 使用post方式接受参数, 使用php代码生成一个列表, 列表样式自定义