PHP $ _SESSION变量不会持久化

时间:2015-12-06 15:19:06

标签: php session http-post

我不太清楚为什么会这样。经过一番研究和几次尝试解决后,我终于放弃并寻求帮助。我的问题是我在页面上开始一个会话(controle.php)并在$_SESSION["agenda"]创建一个数组,但我只是在第一次创建它时。之后我想用array_push($_SESSION["agenda"], $Contato)向它添加元素,其中$Contato是一个对象,我为每次迭代创建该对象的新实例。但是,$ _SESSION ["议程"]上的数据不会持久存在,每次代码运行时都会创建一个新数组。我尝试将session_start()添加到页面顶部,检查我的浏览器是否允许网站保存Cookie。至于PHP配置,我会发布一张图片,因为我在这方面一无所知。

以下是phpinfo();

enter image description here

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>

0 个答案:

没有答案