首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP脚本中访问会话变量?

如何在PHP脚本中访问会话变量?
EN

Stack Overflow用户
提问于 2019-06-12 03:18:20
回答 1查看 121关注 0票数 -1

我正在开发一个“通知”函数,但是当我执行一个使用AJAX调用"NOTIFICACIONES.php“脚本的jQuery函数时,我的php脚本所做的就是从数据库中调用一些信息。我使用来自当前用户的Id来调用数据,但是在我的ajax“成功函数”中,我只捕获了一个空数组。

我写了一个测试脚本,这样我可以回显函数的每一步,但是当我运行我的“测试脚本”时,我注意到我的会话变量是空的

这是我的登录代码,我在其中设置所有PHP会话变量。

代码语言:javascript
复制
<?php

    if(isset($_POST['empresa']))
    {
        if(isset($_POST['usuario']))
        {
            if(isset($_POST['password']))
            {

                $empresa = $_POST["empresa"];
                $usuario = $_POST["usuario"];
                $password = $_POST["password"];

                $host = "localhost";
                $bd = "nominet_Directorio_Web_Beta";
                $us = "nominet_Marvin2";
                $pas = "NominetBD2019!";

                error_reporting(0);

                $con = new mysqli($host, $us, $pas, $bd);

                if($con->connect_errno)
                {
                    echo "Error de conexión al servidor de base de datos...";
                    exit(); 
                }

                mysqli_set_charset('utf8');

                $query = "SELECT `Tbl_Usuarios`.`Id`, `Tbl_Usuarios`.`Fk_Empresa`, `Tbl_Usuarios`.`Tipo_Usuario` FROM `Tbl_Usuarios` INNER JOIN `Tbl_Empresas` ON `Tbl_Usuarios`.`Fk_Empresa` = `Tbl_Empresas`.`Id` WHERE `Tbl_Usuarios`.`Usuario` = '" . $usuario . "' AND `Tbl_Usuarios`.`Password` = '" . $password . "' AND `Tbl_Empresas`.`Razon_Social` = '" . $empresa . "'";
                //$query = "SELECT `Tbl_Administradores`.`Id` FROM `Tbl_Administradores` WHERE `Tbl_Administradores`.`Usuario` = '" . $usuario . "' AND `Tbl_Administradores`.`Password` = '" . $password . "'";

                $resultado = mysqli_query($con, $query);
                $res= mysqli_fetch_array($resultado);

                if($res["Id"] > 0)
                {

                    session_start();

                    $_SESSION["Id"] = $res["Id"];
                    $_SESSION["Empresa"] = $res["Fk_Empresa"];
                    $_SESSION["Usuario"] = $usuario;
                    $_SESSION["Tipo_Usuario"] = $res["Tipo_Usuario"];

                    header("Location: ../SISTEMA/");
                }
                else
                {
                    header("Location: ../?error=0");
                }

            }
            else
            {
                header("Location: ../?resp=error1");
            }

        }
        else
        {
            header("Location: ../?error=2");
        }
    }
    else
    {
        header("Location: ../?error=3");
    }
?>
代码语言:javascript
复制
function verificarNotificaciones(){

    $.ajax({
        url: "/PHP/NOTIFICACIONES.php",
        type: "POST",
        error: function(xhr){
          // window.location.href = "../CONTACTOS/?resp=7";
        },
        success: function(respuesta) {

            var arreglo = JSON.parse(respuesta);

        }
    });

}
代码语言:javascript
复制
<?php

    require("ABRIR_CON.php");

    session_start();

    $fk_usuario = $_SESSION['Id']; //this is the problem (I think...)

    $query = mysqli_query($con, 'SELECT `Tbl_Seguimientos`.`Id`, `Tbl_Seguimientos`.`Folio`, `Tbl_Seguimientos`.`Medio_Contacto`, `Tbl_Seguimientos`.`Fecha_Cita`, `Tbl_Seguimientos`.`Hora_Cita`, `Tbl_Seguimientos`.`Fecha_Registro`, `Tbl_Contactos`.`Razon_Social` FROM `Tbl_Seguimientos` INNER JOIN `Tbl_Contactos` ON `Tbl_Contactos`.`Id` = `Tbl_Seguimientos`.`Fk_Contacto` WHERE `Tbl_Seguimientos`.`Fk_Usuario` = ' . $fk_usuario);

    $json = array();

    $fecha_actual = getdate();

    while($row = mysqli_fetch_array($query)){

        list($dia, $mes, $year) = explode("/", $arreglo['Fecha_Cita']);
        list($hora, $minutos) = explode(":", $arreglo['Hora_Cita']);

        if((int)$year == $fecha_actual['year']){
            if((int)$mes >= $fecha_actual['mon']){
                if((int)$dia >= $fecha_actual['mday']){
                    if((int)$hora >= $fecha_actual['hours']){
                        if((int)$minutos > $fecha_actual['minutes']){

                            $json[]=array('id' => $row['Id'], 'folio'=> $row['Folio'], 'medio_contacto'=> $row['Medio_Contacto'], 'fecha_cita'=> $row['Fecha_Cita'], 'hora_cita'=> $row['Hora_Cita'], 'fecha_registro'=> $row['Fecha_Registro'], 'razon_social'=> $row['Razon_Social']);

                        }
                    }
                }
            }
        }
        elseif((int)$year > $fecha_actual['year']){

            $json[]=array('id' => $row['Id'], 'folio'=> $row['Folio'], 'medio_contacto'=> $row['Medio_Contacto'], 'fecha_cita'=> $row['Fecha_Cita'], 'hora_cita'=> $row['Hora_Cita'], 'fecha_registro'=> $row['Fecha_Registro'], 'razon_social'=> $row['Razon_Social']);

        }

    }

    $resources_JSON_array = json_encode($json);
    echo ($resources_JSON_array);

    require("CERRAR_CON.php");

?>

我的php脚本应该给我一个Json数组,其中包含通过多个if传递的信息

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-12 03:29:34

将发表评论,但必须在这里回复由于50个证书的限制。确保您的浏览器cookies已打开。Console.log任何ajax数据,看看你发送的数据是否会被php接收。将session_start移到代码的开头,即第一行。希望其中的一个能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56550430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档