Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 设置会话codeiniter时出现的问题_Php_Codeigniter_Session Variables - Fatal编程技术网

Php 设置会话codeiniter时出现的问题

Php 设置会话codeiniter时出现的问题,php,codeigniter,session-variables,Php,Codeigniter,Session Variables,我在会话中保存变量时遇到了一些问题。我按照所有步骤在会话中进行保存,但在我尝试查看是否用于htacces之前,它根本不起作用,但我无法解决它 $autoload['libraries'] = array('database','session', 'encrypt'); 这是我在文件中的配置 config/config.php 在自动加载中,我配置了库,这是我在控制器中的代码 function solicitar() { $data['error'] = EXIT_ERROR;

我在会话中保存变量时遇到了一些问题。我按照所有步骤在会话中进行保存,但在我尝试查看是否用于htacces之前,它根本不起作用,但我无法解决它

$autoload['libraries'] = array('database','session', 'encrypt');
这是我在文件中的配置

config/config.php

在自动加载中,我配置了库,这是我在控制器中的代码

  function solicitar() {
    $data['error'] = EXIT_ERROR;
    $data['msj']   = null;
    try {
        $json_service  = '{"tipo": "A","Nombre": "juan","cantidad_max": 3000}';
        $nombre        = __getTextValue('nombre');//validation
        $apellido      = __getTextValue('apellido');//validation
        $dni           = _post('dni');
        $email         = _post('email');
        $newdata       = array();
        $tipo_producto = PRODUCTO_MICASH;
        if($dni == null || $dni == '') {
            throw new Exception('Ingrese su DNI');
        }
        if(strlen($dni) != 8) {
            throw new Exception('El DNI debe contener 8 caracteres');
        }
        $json = json_decode($json_service);
        $session = array('nombre'            => $nombre,
                         'apellido'          => $apellido,
                         'dni'               => $dni,
                         'email'             => $email,
                         'tipo_solicitud'    => $json->tipo,
                         'cantidad'          => $json->cantidad_max,
                         'tipo_producto'     => $tipo_producto
        );
        $this->session->set_userdata('deliverdata', $session);
        if($dni == null) {
            throw new Exception('Ingrese su DNI');
        }else {
            if($json->tipo == 'A') {
                if($tipo_producto == PRODUCTO_MICASH) {
                    $data['url'] = RUTA_CAJA.'c_preaprobacion';
                }else {
                    $data['url'] = RUTA_CAJA.'c_marca';
                }
            }else if($json->tipo == 'B') {
                $data['url'] = RUTA_CAJA.'c_losentimos';
            }else if($json->tipo == 'C') {
                $data['url'] = RUTA_CAJA.'c_noencontrado';
            }
        }
        $data['error'] = EXIT_SUCCESS;
    } catch (Exception $e){
        $data['msj'] = $e->getMessage();
    }
    echo json_encode(array_map('utf8_encode', $data));
  }
这是我在另一个控制器中获取会话时的代码:

   public function index() {
    $data['nombreDato']=':D';
    $data['nombre'] = _getSesion('nombre');//_getSesion = $this->session->userdata
    $nombre = $this->session->userdata('nombre');
    _log(print_r($this->session->all_userdata('deliverdata'), true));
    $sueldo = $this->sueldo;
    $minAuto = null;
    $maxAuto = null;
    $plazo   = null;
    $minPrestamo = null;
    $maxPrestamo = null;
    $valorAuto   = null;
    $minInicial  = null;
    $maxInicial  = null;
    $cantPago    = 100000;
    $minIniPorc  = $this->minIniPorc;
    $maxIniPorc  = $this->maxIniPorc;
    $arr = $this->array_datos;
    foreach ($arr as $row) {
         $plazo = $row['plazo'];
         $minPrestamo = $row['mont_min'];
         $maxPrestamo = $row['mont_max'];
         $minAuto = $minPrestamo/(1-$minIniPorc);
         $maxAuto = $maxPrestamo/(1-$maxIniPorc);
    }
    $valorAuto = ($minAuto+$maxAuto)/2;
    $minInicial = max($valorAuto-$maxPrestamo,$valorAuto*$minIniPorc);
    $maxInicial = min($valorAuto-$minPrestamo,$valorAuto*$maxIniPorc);
    'mi_cash' == PRODUCTO_MICASH  ? $titulo = 'Felicidades!!! Tienes un 
    préstamo pre aprobado' : $titulo = '';

    $data['tipo_product'] = $titulo;
    $data['iniRango']     = round($valorAuto/100)*100;
    $data['minAuto']      = round($minAuto/100)*100;
    $data['maxAuto']      = round($maxAuto/100)*100;
    $data['max_cuota']    = round($maxInicial/100)*100;
    $data['min_cuota']    = round($minInicial/100)*100;
    $data['cantPago']     = round($maxInicial/100)*100;
    $data['mensual']      = round($minInicial/100)*100;
    $this->load->view('v_preaprobacion', $data);
    }
请帮助我解决问题

要使用“文件”驱动程序,
$config['sess\u save\u path']
必须设置为写入文件的绝对路径。文件

必须正确设置文件夹的权限。同样,请参阅文档


你可能有其他问题,但我承认我没有寻找它们。您必须首先正确设置
会话。

您也应该发布错误消息。因此,有人可以理解。当我在会话中打印数据时,我没有收到任何错误消息,我的数据为空。请将保存路径设置为类似于
$config['sess\u save\u path']=APPPATH缓存/session/“
,因为您使用的是文件而不是数据库。我已经尝试以不同的方式更改$config['sess\u save\u path'],但无效。我有其他项目,但在没有我有这个问题。
   public function index() {
    $data['nombreDato']=':D';
    $data['nombre'] = _getSesion('nombre');//_getSesion = $this->session->userdata
    $nombre = $this->session->userdata('nombre');
    _log(print_r($this->session->all_userdata('deliverdata'), true));
    $sueldo = $this->sueldo;
    $minAuto = null;
    $maxAuto = null;
    $plazo   = null;
    $minPrestamo = null;
    $maxPrestamo = null;
    $valorAuto   = null;
    $minInicial  = null;
    $maxInicial  = null;
    $cantPago    = 100000;
    $minIniPorc  = $this->minIniPorc;
    $maxIniPorc  = $this->maxIniPorc;
    $arr = $this->array_datos;
    foreach ($arr as $row) {
         $plazo = $row['plazo'];
         $minPrestamo = $row['mont_min'];
         $maxPrestamo = $row['mont_max'];
         $minAuto = $minPrestamo/(1-$minIniPorc);
         $maxAuto = $maxPrestamo/(1-$maxIniPorc);
    }
    $valorAuto = ($minAuto+$maxAuto)/2;
    $minInicial = max($valorAuto-$maxPrestamo,$valorAuto*$minIniPorc);
    $maxInicial = min($valorAuto-$minPrestamo,$valorAuto*$maxIniPorc);
    'mi_cash' == PRODUCTO_MICASH  ? $titulo = 'Felicidades!!! Tienes un 
    préstamo pre aprobado' : $titulo = '';

    $data['tipo_product'] = $titulo;
    $data['iniRango']     = round($valorAuto/100)*100;
    $data['minAuto']      = round($minAuto/100)*100;
    $data['maxAuto']      = round($maxAuto/100)*100;
    $data['max_cuota']    = round($maxInicial/100)*100;
    $data['min_cuota']    = round($minInicial/100)*100;
    $data['cantPago']     = round($maxInicial/100)*100;
    $data['mensual']      = round($minInicial/100)*100;
    $this->load->view('v_preaprobacion', $data);
    }