使用$ _SESSION存储变量

时间:2013-05-06 13:23:14

标签: php session-variables

在SESSION变量中存储变量的正确方法是什么?我正在尝试这样做,但我认为我做得不对:

$_SESSION['queryID'] = $stID

// I want to use $stID even after the page is reloaded
if(isset($_GET['id']) && $_GET['id'] != '') {
    $stID =  $_GET['id'];
}

$query = "SELECT * FROM myTable WHERE State = " . $_SESSION['queryID']. ";";

使用这样的会话变量是否允许我在整个页面重新加载时保持$ stID的值?

由于

4 个答案:

答案 0 :(得分:1)

1)缺少一个半圆:

$_SESSION['queryID'] = $stID; // <<< at the end of that line

2)我没有在您的文件顶部看到任何session_start来电。检查您是否已打开会话:

session_start();

答案 1 :(得分:1)

是的,你正在以正确的方式做到这一点。但在使用会话变量值之前,请使用isset()函数。

if (!isset($_SESSION['queryID'])) {
    $_SESSION['queryID'] = 1;
}

同样要使用session,你需要在php脚本的最开头调用session_start()函数。

答案 2 :(得分:0)

Spotting reference是一个新手编程任务,兄弟。 PHP有一个庞大的文档,请阅读它。

$arr = array("lol"=>"roflmao");
$var =& $arr;
$var["lol"] = "roflmaobbq";

print_r($var);
/*
Array
(
    [lol] => roflmaobbq
)
*/

print_r($arr);
/*
Array
(
    [lol] => roflmaobbq
)
*/

来源:http://www.php.net/manual/en/language.references.spot.php

答案 3 :(得分:0)

//if u want to activate session use session_start()
//u didn't mention what is $stID 
//if u want to store $stID

    $_SESSION['queryID']="value"

//////////////

    <?php
    session_start();

    // I want to use $stID even after the page is reloaded
    if(isset($_GET['id']) && $_GET['id'] != '') {

       $_SESSION['queryID']=$_GET['id']
    }

    $query = "SELECT * FROM myTable WHERE State = " . $_SESSION['queryID']. ";";

    ?>