如何在会话中保存数据?

时间:2019-01-29 23:10:35

标签: php

如何在会话中保存数据以及页面重新加载时显示当前和以前的数据?

每次添加学生或对以前添加的学生收费的页面都会消失。

include_once("student.php");

class Secretary{

    public $students = array();

}

$secretary = new Secretary();

// Add students.
$student = new student($_POST['name'],$_POST['lastname']);
array_push($secretary->students,$student);

1 个答案:

答案 0 :(得分:0)

使用PHP会话非常简单,您可以在以下两个链接中找到有关会话的更多信息:

  1. http://php.net/manual/en/book.session.php

  2. http://php.net/manual/en/function.session-start.php

您需要确保在要使用会话的每个页面上调用session_start();。此操作只需执行一次,通常放在页面顶部,或放在每个页面包含的配置文件中。

然后您可以使用:

$_SESSION['Secretary'] = $secretary->students;
// this will store your array

然后要确保在页面上重新加载数组,可以在类中使用__construct函数。

function __construct(){
    if(isset($_SESSION['Secretary']) && is_array($_SESSION['Secretary'])){
        $this->students = $_SESSION['Secretary'];          
    }
}

总而言之,脚本将具有以下形式:

<?php
session_start();
include_once("student.php");

class Secretary{

    public $students = array();

    function __construct(){
        if(isset($_SESSION['Secretary']) && is_array($_SESSION['Secretary'])){
            $this->students = $_SESSION['Secretary'];          
        }
    }

}

$secretary = new Secretary();

// Add students.
$student = new student($_POST['name'],$_POST['lastname']);
array_push($secretary->students,$student);
$_SESSION['Secretary'] = $secretary->students;

?>