0

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

第 1 页:

Page2.php

Page3.php

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

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

谢谢!

4

2 回答 2

1

最佳实践是使用 OOP。因此,您可以执行以下操作:

  1. 创建一个包含字段的类以保存您要传递的所有信息。
    类 PageInfo
    {
       变量 $pageTitle;
       变量 $currentPage;
       变量 $btn 值;
       ......
    }

2.现在创建一个PageInfo类对象,并分配您要设置的值。

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

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

    // 存储会话数据
    $_SESSION['page'] = $page;

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

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

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

于 2013-11-15T06:55:43.993 回答
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()在最顶部的每一页上使用。

于 2013-11-15T06:23:12.727 回答