理解$ _POST和$ _SESSION变量

时间:2014-10-11 07:46:51

标签: php

这个PHP代码在做什么?

$_SESSION['box_status'] = $_POST['box_status'];

是创建一个数组还是什么?,我丢失了,或者它只是创建一个字符串值并存储它,或者它存储多个值作为追加?

据我所知,它只是创建一个字符串功能。

5 个答案:

答案 0 :(得分:2)

您的代码正在将$_SESSION['box_status']的值设置为$_POST['box_status']的当前值。

$_POST$_SESSION是PHP中的保留变量;它们分别存储来自POST操作和会话数据的数据。它们都是关联数组,这就是它们使用$array['key']格式的原因。

答案 1 :(得分:0)

接受POST变量box_status并将其分配给会话变量box_status

供参考:

答案 2 :(得分:0)

取决于POST中发送的值(例如,从页面上的网络表单)。

如果post变量'box_status'中有字符串,则将字符串保存到SESSION变量'box_status'中..如果发送数组则保存数组..

一个重要的注意事项是,在将它们保存在SESSION

之前,应该序列化/清除POST值

答案 3 :(得分:0)

$_POST$_SESSION是PHP中两个非常特殊的数组。

$_POST数组将包含发送给它的所有帖子数据。

<form name='someName' action='thisPage.php' method='POST'>
...
<input type='text' name='someInput'...
...
</form>

发送此表单将带您进入'thisPage.php'页面。在'thisPage.php'中,如果您要访问$_POST['someInput'],那么它将为您提供放置在名为'someInput'的文本框内的值。

当用户继续浏览页面时,PHP会话基本上是一种在服务器上存储用户的信息的方式。这是保持用户在站点上登录的一种方法。

必须通过session_start()来电启动会话。一旦发生这种情况,PHP将检查客户端计算机上的会话ID,并提取该id唯一的会话变量(好吧,这只是简单的说法,如果您感到好奇,请随时谷歌获取更明确的信息)

无论如何,通过设置$_SESSION['box_status'] = $_POST['box_status'];,你会说,“无论用户通过一些名为'box_status'的输入中的POST数据发送给我,我都想跟踪这个值,因为他们继续浏览我的位点“。

我当然是在这里概括,但你应该明白这一点。

答案 4 :(得分:0)

@voyeger

根据您的代码,您已经从php页面&amp;中发布了您的数据(即box_status)。您将box_status数据存储到PHP会话中(即$_SESSION['box_status'] = $_POST['box_status'])。

基本上会话是一种存储要在多个php页面中使用的信息(在变量中)的方法。

与Cookie不同,信息不会存储在用户计算机上,而是存储在服务器上。

因此,您可以使用<?php echo $_SESSION['box_status']; ?>将box_status数据打印到任何PHP页面中。

在打印box_status数据之前,不要忘记开始会话(即session_start();)。