我不太清楚为什么会这样。经过一番研究和几次尝试解决后,我终于放弃并寻求帮助。我的问题是我在页面上开始一个会话(controle.php)并在$_SESSION["agenda"]
创建一个数组,但我只是在第一次创建它时。之后我想用array_push($_SESSION["agenda"], $Contato)
向它添加元素,其中$Contato
是一个对象,我为每次迭代创建该对象的新实例。但是,$ _SESSION ["议程"]上的数据不会持久存在,每次代码运行时都会创建一个新数组。我尝试将session_start()添加到页面顶部,检查我的浏览器是否允许网站保存Cookie。至于PHP配置,我会发布一张图片,因为我在这方面一无所知。
以下是phpinfo();
controle.php代码:
<?php
session_start();
require_once '../Model/Contato.php';
$op = $_GET["op"];
if (isset($op) && $op != "") {
switch ($op) {
case 'add':
include '../View/novo.php';
break;
case 'cad':
if(isset($_POST["enviar"])){
$nome = $_POST["nome"];
$email = $_POST["email"];
$Contato = new Contato($nome, $email);
if(!isset($_SESSION["agenda"])){
$_SESSION["agenda"] = array();
}
array_push($_SESSION["agenda"], $Contato);
include '../View/sucesso.php';
}
else{
include '../View/erro.php';
}
unset($nome);
unset($email);
break;
case 'lst':
include '../View/lista.php';
break;
}
}
else{
include '../View/index.php';
}
?>
novo.php代码:
<!DOCTYPE html>
<html>
<head>
<title>Novo Contato</title>
</head>
<body>
<h1>Criar novo contato</h1>
<form action="../Controller/controle.php?op=cad" method="post">
<label>Nome:</label>
<input type="text" name="nome" required="required">
<label>Email:</label>
<input type="email" name="email" required="required">
<input type="submit" name="enviar" value="Enviar">
</form>
</body>
</html>