【发布时间】:2021-06-21 15:07:43
【问题描述】:
我是 php 新手,我有一个注册表单,我想将注册的用户存储在数组或 JSON 中, 我建立了用户类,当我注册一个新用户时,我想将它添加到这个数组或 JSON 中,但是会话数组只接受一个用户,当我添加新用户会话时删除旧用户并存储新用户! 这是我的代码:
class User
{
private $id;
private $first_name;
private $last_name;
private $email;
private $password;
public function register($id, $firstName, $lastName, $email, $password)
{
$this->id = $id;
$this->first_name = stripslashes($firstName);
$this->last_name = stripslashes($lastName);
$this->email = $email;
$this->password = password_hash($password, PASSWORD_DEFAULT);
}
}
class DB
{
public $users;
public function __construct()
{
$this->users = [];
}
}
<?php
$counter = 0;
$_SESSION['usersDB'] = new DB;
if (isset($_POST['submit'])) {
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$email = $_POST['email'];
$password = $_POST['password'];
$user = new User;
$user->register(++$counter, $firstName, $lastName, $email, $password);
array_push($_SESSION['usersDB']->users, $user);
}
echo '<pre>';
var_dump($_SESSION['usersDB']);
echo '</pre>';
?>
我应该怎么做才能将所有用户存储在一个地方?
【问题讨论】:
-
$_SESSION['usersDB'] = new DB;将在调用时创建一个新的空数据库。$_SESSION['usersDB']中的任何先前值都将丢失。 -
@Progman 如何解决它并创建一次数据库
-
真的不确定这是否明智,但您需要一个数组来容纳多个用途,所以
array_push($_SESSION['usersDB']->users[], $user);
标签: php