2011-03-05 55 views
0

我有一個關於會話變量的問題。php session_start默認值?

我有會話變量,需要從默認變量開始。然後我需要能夠通過$_GET通過一個新的並保持更新。所以即使用戶重新加載頁面,它也不會回到默認值。我該如何去做這件事?謝謝!

+1

只是程序你所描述的算法的每一步,並詢問**具體問題**當你擁有它。 – zerkms 2011-03-05 03:36:30

回答

0

好像這些方針的東西可能的工作:

if(!isset($_SESSION['my_parm'])) 
{ 
    $_SESSION['my_parm'] = 'DEFAULT'; 
} 

if(isset($_GET['my_parm'])) 
{ 
    $_SESSION['my_parm']=$my_parm; 
} 
+0

不幸的是,這是行不通的。在我改變分頁的頁面之後,它並沒有停留在我想要顯示的頁面數量上(我的mysql LIMIT),這是我試圖通過的獲取變量 – rick 2011-03-05 04:14:17

+0

沒關係這個工作完美。謝謝! – rick 2011-03-05 04:20:19

0

使用

session_start(); 
$_SESSION 
下面

是在這個片段中的鏈接進行會話手冊

http://www.php.net/manual/en/reserved.variables.session.php

+0

沒錯,但我需要能夠將它更新到$ _GET變量,然後保持即使頁面重新加載,也不會返回到開始的默認值 – rick 2011-03-05 03:44:15

+0

@rick,您可以按照zerkms回答 – sush 2011-03-05 03:50:46

2

你就會有session變量分配一次:如果我的理解

if (!isset($_SESSION['magic'])) { 
    $_SESSION['magic'] = isset($_GET['magic']) ? $_GET['magic'] : 1; 
} 
+0

我只需加上: else $ _SESSION ['magic'] = 1; (或任何我想我的默認是?) 因爲不幸的是,它正在打破它 – rick 2011-03-05 03:55:10

+0

@ rick:當然可以。看看我的更新。 – zerkms 2011-03-05 03:56:33

+0

解開我的瀏覽器後,這實際上也工作!謝謝! – rick 2011-03-05 04:20:56

0

好吧,這將是你的方法的輪廓:

<?php 
session_start(); 
if (isset($_GET['my_variable'])) { 
    $_SESSION['my_variable'] = $_GET['my_variable']; // force new value 
} 
if (!isset($_SESSION['my_variable'])) { 
    $_SESSION['my_variable'] = $default_value; // initialize 
} 
update_value($_SESSION['my_variable']);