File "server2.php"

Full Path: C:/wamp64/www/INTERPRETE2/backend/node_modules/path-to-regexp/server2.php
File size: 3.24 KB
MIME-type: text/x-php
Charset: utf-8

<?php

// Este bloque de codigo es para el registro de los nuevos proveedores ----------------------------
// Configuración de la conexión a la base de datos
$host = 'localhost';
$usuario = 'SANMARINO';
$contraseña = 'sanmarino2021*';
$nombre_db = 'interprete';

try {
    // Crear la conexión usando PDO
    $conn = new PDO("mysql:host=$host;dbname=$nombre_db", $usuario, $contraseña);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Permitir acceso CORS
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
    header("Access-Control-Allow-Headers: Content-Type");
    header("Content-Type: application/json");

    // Verificar el tipo de solicitud
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        // Manejo de la solicitud POST (guardar datos)
        $NIT = isset($_POST['NIT']) ? $_POST['NIT'] : null;
        $razon_social = isset($_POST['razonSocial']) ? $_POST['razonSocial'] : null;
        $email = isset($_POST['email']) ? $_POST['email'] : null;

        // Verificar que todas las variables requeridas estén presentes
        if ($NIT && $razon_social && $email) {
            // Prepara la consulta SQL para insertar los datos en la base de datos
            $query = "INSERT INTO registros (NIT, razon_social, email, fechaRegistro) 
                      VALUES (:NIT, :razon_social, :email, NOW())";
            $stmt = $conn->prepare($query);
            $stmt->bindParam(':NIT', $NIT, PDO::PARAM_STR);
            $stmt->bindParam(':razon_social', $razon_social, PDO::PARAM_STR);
            $stmt->bindParam(':email', $email, PDO::PARAM_STR);

            // Ejecuta la consulta y verifica si fue exitosa
            if ($stmt->execute()) {
                echo json_encode([
                    'status' => 'success',
                    'message' => 'Datos guardados exitosamente en la base de datos.'
                ]);
            } else {
                echo json_encode([
                    'status' => 'error',
                    'message' => 'Error al guardar los datos en la base de datos.'
                ]);
            }
        } else {
            echo json_encode([
                'status' => 'error',
                'message' => 'Faltan datos requeridos.'
            ]);
        }
    } elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
        // Manejo de la solicitud GET (consultar datos)
        $query = "SELECT RAZON_SOCIAL FROM registros"; 
        $stmt = $conn->prepare($query);
        $stmt->execute();
        $clientes = $stmt->fetchAll(PDO::FETCH_ASSOC);

        if ($clientes) {
            echo json_encode($clientes); // Devuelve los datos si la consulta fue exitosa
        } else {
            echo json_encode([]); // Si no hay clientes, devuelve un arreglo vacío
        }
    } else {
        // Respuesta para otros métodos
        echo json_encode([
            'status' => 'error',
            'message' => 'Método de solicitud no permitido.'
        ]);
    }
} catch (PDOException $e) {
    // Captura errores de la base de datos
    echo json_encode([
        'status' => 'error',
        'message' => 'Conexión fallida: ' . $e->getMessage()
    ]);
}