我是Laravel和PHP的新手。
成功登录后,页面会重定向到索引
控制器代码如下:
Session::save();
Redirect::to('index')
index.php
代码如下:
include(URL('index/index_top'));
include(URL('index/top_banner'));
问题在于:会话数据在index.php
中可用,但在index_top.php
中不可用。页面index.php
显示正常。
我的英语很差,希望你能明白我的意思
在这里,我刚发现sessionid在include()
之后发生了变化,为什么?我怎样才能保留sessionid。
附加
routes.php
如下:
Route::group(['prefix' => 'index'], function()
{
Route::get('index_top','index\indexController@showIndexTop');
Route::get('top_banner','index\indexController@bannerShow');
...
}
top_banner.php
如下:
<div class="top_banner">
<?php
if($resultcode == 0){
$i = 0;
foreach ($banner["body"] as $info) {
$i++;
if($i==1){
echo "<img src='";
echo( $info['adpic']);
echo "'style='width:1200px;height:145px'/>";
...
答案 0 :(得分:2)
问题是您的包含语句。而不是包含本地视图,意味着PHP将被包含并在相同的上下文中执行,您需要包含 URL ,这意味着单独的请求将是已发送,其结果将包括在内。此请求没有像Cookie一样附加任何上下文信息,这有助于识别您的会话,这是会话数据不可用的原因。
替换
include(URL('index/index_top'));
include(URL('index/top_banner'));
与
include('index/index_top.php'); //or whatever local path to index_top.php is
include('index/top_banner.php'); //or whatever local path to top_banner.php is