在分页中传递会话值

时间:2013-11-15 06:18:00

标签: php session pagination

我可以将值从一个页面传递到另一个页面,但我需要传递这样的值,

第1页:

使page2.php

Page3.php

我需要将Page1.php中的单选按钮值传递给Page2.php,我还需要使用相同的会话。如果表单被重定向到page3,我将无法获得第1页的在线测验项目的价值。我尝试过session,form post方法和其他一些方法,但我还没有成功。

如果您可以帮我提供代码或一些建议,我将非常高兴。

谢谢!

2 个答案:

答案 0 :(得分:1)

最佳做法是与OOP一起使用。因此,您可以执行以下操作:

  1. 创建一个包含字段的类,以保存您要传递的所有信息。
  2. 
        class PageInfo
        {
           var $pageTitle;
           var $currentPage;
           var $btnValue;
           .....
        }
    
    

    2.现在列出PageInfo类的对象,并指定要设置的值。

    
        $page = new PageInfo();  
        $page->pageTitle = "Home";
        $page->btnValue  = 1;  
        ...
    
    

    3.将此对象(保存页面的所有详细信息)分配给超全局会话变量。

    
        // store session data
        $_SESSION['page'] = $page;
    
    

    4.现在您可以访问不同页面的会话中存储的值。

    
        $otherPage = $_SESSION['page'];
        echo $otherPage->pageTitle;
        echo $otherPage->btnValue;
    
    

    注意: session_start()功能必须在您在页面上打印之前出现。

答案 1 :(得分:0)

实际上你的问题很模糊,首先当你使用会话时,你需要确保在页面顶部调用session_start(),其次,你可以在会话中保存表单数据变量如

if(isset($_POST['YOUR_SUBMIT_BUTTON_NAME_HERE'])) {
   $store_temp_val1 = $_POST['whatever']; //Sanitize the value first
   $_SESSION['page_one']['first_val'] = $store_temp_val1;
}

现在您只需在第二页上检索存储在会话变量中的值,如

echo $_SESSION['page_one']['first_val']; //Will echo the previous page value

  

注意:在最顶层的每个页面上使用session_start()