无法获得会话值

时间:2015-09-18 11:20:52

标签: php

在标题(header.phtml)中,我开始会话:

<?php
if (session_status() == PHP_SESSION_NONE)
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
...

现在在其他页面中我想设置一个会话值:

<script type="text/javascript">

    $(document).ready(function() {

        $("#add_reservS").on("click", function(e) {
            <?php
            $_SESSION['nb_ajout_client'] = 0;
            ?>
        });
    ...

然后我在其他页面中增加此会话值:

public function ajouterExecAction($src = '', $pk_src = ''){
        $client = new Client();
        $client->ajouter($_POST);
        if ($src == '')
            $this->response->redirect('ReferentielClient');
        else {
            $_SESSION['nb_ajout_client']++;
            ...
        }
        ...
}

现在在另一个页面中我想获得此会话值:

<script type="text/javascript">

    $(document).ready(function() {
        $("#btn_retour").on("click", function() {
            var back = "<?php echo $previous; ?>";
            if (back == "list_reserv")
                window.history.back();
            else {
                var nb_back = "<?php echo $_SESSION['nb_ajout_client']; ?>";
                alert("session nb ajout client = "+nb_back); // nb_back is blank !
            }
        });

    });

</script>

警报显示空白值!那我的方法有什么问题呢?

1 个答案:

答案 0 :(得分:1)

您必须使用session_start();启动每个文档。虽然它不再需要成为第一行,但在对文件中的会话执行任何操作之前,它确实需要存在。

通常从公共包含文件启动会话,然后包含在需要会话的每个页面中。因此,您只需要编写一次。