0

我一直在尝试设置一个“加载更多”功能小部件,今天早些时候我在另一个本地主机上成功了。但是,在另一台计算机(相同的 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())。我不确定为什么这在这台机器上不起作用,但它在另一台机器上起作用。有什么想法吗?谢谢你。

4

2 回答 2

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']; ?>;
于 2013-07-24T05:51:17.237 回答
0

我肯定会使用 Laravel 的Session库。这个库可以漂亮地处理这样的情况......

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

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

这个调用有什么作用?如果在 Session 中未设置 number,它会尝试posts_start从 Session 中获取,并回退到 number 。2

于 2013-07-24T12:12:19.027 回答