Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
INVENTAPP
/
controller
:
validarAutoriza.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // validarAutoriza.php (versi贸n de depuraci贸n y manejo correcto) error_reporting(E_ALL); ini_set('display_errors', 1); header('Content-Type: application/json; charset=utf-8'); session_start(); header('Content-Type: application/json'); $requeridos = ['listItem', 'nprod', 'pesoNeto', 'empacado']; $faltantes = []; foreach ($requeridos as $key) { if (!isset($_SESSION[$key])) { $faltantes[] = $key; } } if (!empty($faltantes)) { echo json_encode([ "success" => false, "error" => "Faltan datos en sesi贸n", "faltantes" => $faltantes, "session" => $_SESSION // 馃憟 imprime lo que s铆 lleg贸 ]); exit; } include_once('../models/modelo_conexion.php'); try { $objeto = new Conexion(); $conexion = $objeto->Conectar(); $conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { error_log("DB connect error: " . $e->getMessage()); echo json_encode(['success' => false, 'error' => 'Error de conexi贸n a la base de datos']); exit; } if (!isset($_POST['userAutoriza'], $_POST['passwAutoriza'])) { echo json_encode(['success' => false, 'error' => 'Faltan credenciales POST']); exit; } $userAutoriza = trim($_POST['userAutoriza']); $passwAutoriza = trim($_POST['passwAutoriza']); try { // 1) verificar usuario con permiso != 1 $stmt = $conexion->prepare("SELECT * FROM `user` WHERE usuario = :usuario AND password = :password AND permiso != '1'"); $stmt->execute([':usuario' => $userAutoriza, ':password' => $passwAutoriza]); if ($stmt->rowCount() < 1) { echo json_encode(['success' => false, 'error' => 'Usuario sin permisos o credenciales inv谩lidas']); exit; } // 2) comprobar que las variables de sesi贸n requeridas existan $required = ['listItem', 'nprod', 'pesoNeto', 'empacado', 'nomUser']; $missing = []; foreach ($required as $k) { if (!isset($_SESSION[$k]) || $_SESSION[$k] === '' || $_SESSION[$k] === null) { $missing[] = $k; } } if (!empty($missing)) { error_log("validarAutoriza: faltan en session -> " . implode(',', $missing) . " | session_id=" . session_id()); echo json_encode(['success' => false, 'error' => 'Faltan datos en sesi贸n: ' . implode(', ', $missing)]); exit; } // 3) asignar variables (con valores por defecto seguros) $ubicacion = $_SESSION['ubicacion'] ?? ''; $usuario = $_SESSION['nomUser'] ?? ''; $planillador = $_SESSION['planilla'] ?? ''; $listItem = $_SESSION['listItem']; $nprod = $_SESSION['nprod']; $pesoNeto = $_SESSION['pesoNeto']; $empacado = $_SESSION['empacado'] > 0 ? $_SESSION['empacado'] : 1; $bultos = $_SESSION['bultos'] ?? 0; $cajas = $_SESSION['cajas'] ?? 0; $cnastaPll = $_SESSION['cnastaPll'] ?? null; $cnastaPv = $_SESSION['cnastaPv'] ?? null; $ctillaPll = $_SESSION['ctillaPll'] ?? null; $ctillaPv = $_SESSION['ctillaPv'] ?? null; $inpBase = $_SESSION['inpBase'] ?? null; $inpLote = $_SESSION['inpLote'] ?? null; $doc = $_SESSION['dcto'] ?? null; $pesoProm = ($empacado > 0) ? ($pesoNeto / $empacado) : 0; // 4) preparar INSERT con placeholders $consul = "INSERT INTO mvdcto (TPDCTO, CODUBI, FECHA, ESTADO, USUARIO, CODPROD, NPROD, CANTIDAD, CANTEMPAQ, BULTOS, CAJAS, CNASTAPLL, CNASTAPV, CNASTILLAPLL, CNASTILLAPV, BASES, RESPONSABLE, PLANILLADOR, LOTE, PESOPROM) VALUES (:doc, :ubicacion, CURRENT_DATE(), 'PESO PROMEDIO AUTORIZADO', :usuario, :listItem, :nprod, :pesoNeto, :empacado, :bultos, :cajas, :cnastaPll, :cnastaPv, :ctillaPll, :ctillaPv, :inpBase, UPPER(:userAutoriza), UPPER(:planillador), :inpLote, :pesoProm)"; $resul = $conexion->prepare($consul); $ok = $resul->execute([ ':doc' => $doc, ':ubicacion' => $ubicacion, ':usuario' => $usuario, ':listItem' => $listItem, ':nprod' => $nprod, ':pesoNeto' => $pesoNeto, ':empacado' => $empacado, ':bultos' => $bultos, ':cajas' => $cajas, ':cnastaPll' => $cnastaPll, ':cnastaPv' => $cnastaPv, ':ctillaPll' => $ctillaPll, ':ctillaPv' => $ctillaPv, ':inpBase' => $inpBase, ':userAutoriza' => $userAutoriza, ':planillador' => $planillador, ':inpLote' => $inpLote, ':pesoProm' => $pesoProm, ]); if ($ok) { echo json_encode(['success' => true, 'message' => 'Registro insertado correctamente']); exit; } else { $err = $resul->errorInfo(); error_log("validarAutoriza INSERT error: " . print_r($err, true)); echo json_encode(['success' => false, 'error' => $err[2] ?? 'Error desconocido en INSERT']); exit; } } catch (PDOException $e) { error_log("validarAutoriza PDOException: " . $e->getMessage()); echo json_encode(['success' => false, 'error' => 'Exception: ' . $e->getMessage()]); exit; }