$_POST
和$_SESSION
之间的区别是什么?我什么时候应该使用它们?我一直在网上搜索,但我仍然不明白。请给出简单的解释并举例说明。感谢
也许吧,link 可以帮助您解释差异
答案 0 :(得分:2)
示例用法
<?php
// Access the username field with $_POST
$username = $_POST['username'];
// Output the username value
echo $username;
// If GET uncomment this
// $username = $_GET['username'];
// echo $username;
// Or you can use $_REQUEST if you're in doubt about $_POST or $_GET
// $username = $_REQUEST['username'];
// echo $username;
?>
<form action="/" method="post"> <!-- You can change this as POST or GET -->
<input type="text" name="username" />
<input type="submit" value="Submit" />
</form>
使用$_POST
,地址为
http://domain.com/login
使用$_GET
,
http://domain.com/login?username=somevalue
注: $_GET
显示提交的值,而$_POST
则不显示
<?php
// You should call this first
session_start();
// Initialize the session value
$_SESSION['mysession'] = 'hello_world';
// Output the session value
echo $_SESSION['mysession'];
?>
答案 1 :(得分:1)
简而言之,$ _POST是一个特殊的数组,用于将从HTTP POST请求接收的数据存储到特定的网页。加载脚本时,会解析原始HTTP POST数据字符串并将其添加到$ _POST数组中,这样开发人员就可以更轻松地使用常见任务,例如处理HTML表单提交。
示例:
Raw HTTP data string format:
key1=2&key2=3
$_POST array data format:
$_POST = array('key1' => '2', 'key2' => '3');
$ _ SESSION数据不依赖于特定页面或HTTP请求;它的数据在页面中保持不变,通常用于记录用户登录时的帐户数据。 $ _SESSION数据通常存储在服务器上的文件中(或者像Redis这样的分布式存储机制中),直到它被手动清除(例如,session_destroy()),或者直到PHP的垃圾收集运行并销毁它为止。