javascript - 无法通过 Ajax 从文件 PHP 调用检查 session

标签 javascript php jquery ajax session

我使用DataTables服务器端来制作表格。我调用login.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>

我在 Ajax 之上调用了 session_start() 。这是连接到表的文件 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
);
?>

我从测试中得到的结果是,如果我通过ajax 运行我的login.php 则无法检查 session 。但是当我通过浏览器(localhost/dewata/php/query/login.php)运行它时,它可以正常检测 session 。如何从ajax调用的php文件中检查 session ?某处是否缺少代码?

最佳答案

我添加此代码:

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 功能正常:) 感谢您的帮助。

关于javascript - 无法通过 Ajax 从文件 PHP 调用检查 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35696391/

相关文章:

mysql - php只获取今天的文章?

javascript - jquery - 尽管条件不满足,为什么 if 子句会触发?

javascript - Assets 管道 - application.js 未编译/加载

javascript - 在 vueJs 上更新 firebase 绑定(bind)数组上的元素

带空格的PHP imap和文件夹名称

java - 两个列表之间的比较。是否可以获得列出的输出?

javascript - 设置在选择下拉列表中选择的值

javascript - 如何使用 react typescript 输入 map 方法?

javascript - ngRepeat 动画不适用于所有元素

PHP MySql 查询显示当前时间而不是平板电脑上的时间