未定义的索引:在一台localhost机器上的posts_start,但在另一台机器上没有?与Laravel 4

时间:2013-07-24 05:46:17

标签: jquery session laravel laravel-4

我一直在尝试设置一个“加载更多”的功能小部件,我今天早些时候在另一个本地主机上取得了成功。但是,在另一台计算机(相同的Mac OS,MAMP等...)上,我收到会话变量的错误:未定义的索引:posts_start。

在javascript中,这些是相关的行:

<?php $number_of_posts = 2; ?>;
//<?php $_SESSION['posts_start'] = $_SESSION['posts_start'] ? $_SESSION['posts_start'] : $number_of_posts; ?>;
<?php $_SESSION['posts_start'] = 2 ?>;

var start = <?php echo $_SESSION['posts_start']; ?>;

这是使用Laravel 4,所以我已经为当前用户运行了一个会话(不需要使用session_start())。我不确定为什么这不能在这台机器上运行,但它正在开发另一台机器。有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

<?php $number_of_posts = 2; ?>;
<?php $_SESSION['posts_start'] = isset($_SESSION['posts_start']) ? $_SESSION['posts_start'] : $number_of_posts; ?>;
<?php $_SESSION['posts_start'] = 2 ?>;
var start = <?php echo $_SESSION['posts_start']; ?>;

答案 1 :(得分:0)

我肯定会使用Laravel的Session库。 这个lib可以处理像这样美丽的情况......

var start = <?=Session::get('posts_start', 2) ?>;

// or this, if you use Blade syntax
var start = {{ Session::get('posts_start', 2) }};

这次电话有什么作用?如果未在会话中设置数字,它会尝试从会话中获取posts_start,并回退到数字2