PHP - $ _POST和$ _SESSION

时间:2016-05-29 03:05:04

标签: php global-variables

$_POST$_SESSION之间的区别是什么?我什么时候应该使用它们?我一直在网上搜索,但我仍然不明白。请给出简单的解释并举例说明。感谢

也许吧,link  可以帮助您解释差异

2 个答案:

答案 0 :(得分:2)

示例用法

$ _ POST

<?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则不显示

$ _ SESSION

<?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的垃圾收集运行并销毁它为止。