2013-05-06 153 views
0

在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的价值?

感谢

+0

你有添加在session_start到页面顶部? – 2013-05-06 13:24:53

回答

1

1)有一个semicolumn丢失:

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

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

session_start(); 
1

是的,您正在以正确的方式进行操作。但在使用会话变量值之前,请使用isset()函数。

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

另外要使用会话,您需要在php脚本的最开始处调用session_start()函数。

0

发现引用是一个新手程序设计任务,兄弟。 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

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']. ";"; 

    ?>