2016-12-19 4 views
2

Я новичок в тонком каркасе. Мне нужно работать в тонких рамках. Я использую Native PHP-сессию в slim framework.Использование родной сессии в Slim framework

Я добавил эту строку в index.php, прежде чем стройный инстанциируется:

<?php 
session_cache_limiter(false); 
session_start(); 

И я маршрут определен, в котором я буду вставлять данные и перенаправление URL-адрес, как показано ниже:

$app->post('/users', function()use($app) { 
    $useradd = new \app\User(); 
    $session = new \app\Session(); 

    $data = $useradd->addUsers(); 

    if($session->getId('useraddsuc')) { 
     $app->response->redirect('../templates/user?success'); 
    } else { 
     $app->response->redirect('../templates/user?fail'); 
    } 
}); 

И сессия устанавливается в addUsers способом, как показано ниже:

function addUsers() { 
     try { 
      $db = new \app\Config(); 

      $name = $db->escape($_POST['name']); 
      $email = $db->escape($_POST['email']); 
      $date_created = date("Y-m-d H:i:s"); 
      $tmp_id = $db->random_id(8); 


$sql = "INSERT INTO app_user (user_name, user_email, user_role, user_date_create, user_tmp_id, user_date_modified) VALUES ('$name','$email','store_admin','$date_created','$tmp_id','$date_created')"; 

      $query = $db->insertQuery($sql); 
      $session = new \app\Session(); 
      $session->setId('useraddsuc', 'user account added successfully'); 
     } 
     catch(Exception $e) { 
      echo $e; 
     } 
    } 

Когда сеанс настроен на его перенаправление на правильный путь, как указано в нем. Но не удалось получить доступ к переменной сеанса в URL-адресе после перенаправления. т. Е. В templates/user/index.php не может получить доступ к переменной сеанса, которая установлена ​​в методе addUsers. Ниже код записывается для проверки сеанса в templates/user/index.php, но это не работает. Пожалуйста, помогите !!

код для проверки сессии в templates/user/index.php

<?php if(isset($_SESSION['useraddsuc'])) { ?> 
    echo "User added successfully!!" 
    <?php } ?> 

ответ

1

Получил ответ. Добавление ниже строк будет определять сеанс.

<?php @ob_start(); 

if(session_status()!=PHP_SESSION_ACTIVE) { 
session_start(); 
} 

if(isset($_SESSION['useraddsuc'])) {  
echo $_SESSION['useraddsuc']; 
} 

?> 
Смежные вопросы