2016-02-29 4 views
1

Я использую серверную часть DataTables для создания таблицы. Я вызываю login.php, чтобы получить некоторые значения из базы данных Ajax. Это код. Таблицы данных:Не удается проверить сеанс из файла PHP-вызов Ajax

<?PHP session_start(); ?> 

    <script type="text/javascript" language="javascript" class="init">  
$(document).ready(function() { 
    t = $('#table_stok').dataTable({ 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers", 
    "processing": true, 
    "serverSide": true, 
    "ajax": "php/query/login.php" 
    }); 
}); 

</script> 

У меня есть вызов session_start() в верхней части Ajax. И это файл login.php для подключения к таблице:

<?PHP 
session_start(); 
if(empty($_SESSION['login'])){ 
$db_username = 'root'; 
$db_password = ''; 
$db_name  = 'dbmaster2'; 
$db_host  = 'localhost'; 
}else if($_SESSION['login']==1){ 
$db_username = 'root'; 
$db_password = ''; 
$db_name  = 'dbmaster2'; 
$db_host  = 'localhost'; 
}else{ 
$db_username = 'root'; 
$db_password = ''; 
$db_name  = 'dewata'; 
$db_host  = 'localhost'; 
} 

$sql_details = array(
'user' => $db_username, 
'pass' => $db_password, 
'db' => $db_name, 
'host' => $db_host 
); 
?> 

Что я получаю от тестирования, Мой login.php не может проверить сессию, если я запустить его с помощью AJAX. Но когда я запускаю его через браузер (localhost/dewata/php/query/login.php), он может нормально определять сеанс. Хо, я проверяю сеанс из php-файла, который вызывает ajax? Где-то отсутствует код?

+0

называть его ajax или нет, не имеет значения, php будет заполнять $ _SESSION, если у вас есть session_start(); в верхней части скрипта, а затем установить переменную сеанса на что-то, что будет передано по –

+0

Вы получаете какую-либо ошибку в консоли браузера? – C2486

+0

Всегда проверяйте, а затем начинайте сеанс _if (session_id() == '' ||! Isset ($ _ SESSION)) { session_start(); } _ – C2486

ответ

0

добавить этот код:

if(session_id() == '' || !isset($_SESSION)) { session_start(); }  
if(empty($_SESSION['login'])){ 
$db_username = 'root'; 
$db_password = ''; 
$db_name  = 'dbmaster2'; 
$db_host  = 'localhost'; 
}else if($_SESSION['login']==1){ 
$db_username = 'root'; 
$db_password = ''; 
$db_name  = 'dbmaster2'; 
$db_host  = 'localhost'; 
}else{ 
$db_username = 'root'; 
$db_password = ''; 
$db_name  = 'dewata'; 
$db_host  = 'localhost'; 
} 

$sql_details = array(
'user' => $db_username, 
'pass' => $db_password, 
'db' => $db_name, 
'host' => $db_host 
); 

и мои функции PHP нормально :) Спасибо за помощь.