Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/02/2017, 07:24
Triby2
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Enviar correo dentro de un case switch

He modificado la lógica de index.php, pues la clase Usuario no sirve para nada así que la he eliminado. También he modificado la clase UsuarioModel al haber eliminado la otra clase.

Esta modificación no está extenta de fallos, no la he probado, la he modificado en base a mi experiencia pero no te preocupes, el archivo .log te dirá donde están los fallos (que serán leves) y de ahí ya lo podrás arreglar todos tu solo.

index.php
Código PHP:
<?php 
session_start
(); 
if(!isset(
$_SESSION["user_id"]) || $_SESSION["user_id"]==null){ 
    print 
"<script>alert(\"Acceso invalido!\");window.location='../../login.php';</script>"


require_once 
'usuario.model.php';
include 
'enviar.php'

$model = new UsuarioModel(); 

$page 'index';

if(isset(
$_REQUEST['action'])) {
    foreach(
$_REQUEST as $key => $value) {
        if(
$key == 'action')
            $
$key $value# Convertimos el índice actino en una variable al cual le asignamos el valor correspondiente para cargar las diferentes funciones de $model de manera dinámica con solo usar su valor

        
if($action == 'actualizar' && $key == 'id')
            
$alm->__SET($key$value); # Solo si estamos actualizando, se añadirá a __SET el id del registro para actualizarlo

        
$alm->__SET($key$value); # Como estamos dentro de un bucle, estamos seteando cada valor de $_REQUEST dentro de la función __SET
    
}

    if(
$action == 'eliminar' || $action == 'editar')
        
$model->$action($id);
    else if(
$action != 'enviar')
        
$model->$action($alm); 

    if(
$action == 'enviar')
        
envioCorreo($_REQUEST);

    if(
$action != 'editar')
        
header('Location: ' $page '.php'); 
}
usuario.model.php
Código PHP:
<?php
class UsuarioModel {
    private 
$pdo;
 
    public function 
__CONSTRUCT()
    {
        try {
            
$this->pdo = new PDO('mysql:host=localhost;dbname=datos''usuario''clave');
            
$this->pdo->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);                
        } catch(
Exception $e) {
            die(
$e->getMessage());
        }
    }
 
    public function 
Listar()
    {
        try {
            
$stm $this->pdo->prepare("SELECT * FROM ingreso ORDER BY id DESC  LIMIT 5");
            
$stm->execute();
            
            while (
$row $stmt->fetch(PDO::FETCH_ASSOC))
                
$rows[] = $row;

            return 
$rows;

        } catch(
Exception $e) {
            die(
$e->getMessage());
        }
    }
 
    public function 
Editar($id)
    {
        try {
            
$stm $this->pdo->prepare("SELECT * FROM ingreso WHERE id = ?");
            
$stm->execute(array($id));

            while (
$row $stmt->fetch(PDO::FETCH_ASSOC))
                
$rows[] = $row;
 
            return 
$rows;

        } catch (
Exception $e) {
            die(
$e->getMessage());
        }
    }
 
    public function 
Eliminar($id)
    {
        try {
            
$stm $this->pdo->prepare("DELETE FROM ingreso WHERE id = ?");                      
            
$stm->execute(array($id));

        } catch (
Exception $e) {
            die(
$e->getMessage());
        }
    }
 
    public function 
Actualizar($data)
    {
        try {
            
$sql "UPDATE ingreso SET 
                        rif                 = ?,
                        nombre              = ?,
                        producto            = ?,
                        sistema_enc         = ?,
                        nro_cupon           = ?,
                        fecha_envio         = ?,
                        nota                = ?
                    WHERE id = ?"
;
            
$sql2 "INSERT INTO vitacora (rif, nombre, producto, sistema_enc, nro_cupon, fecha_envio, nota, id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
                    
            
$this->pdo->prepare($sql)->execute($data);
            
$this->pdo->prepare($sql2)->execute($data); 

        } catch (
Exception $e) {
            die(
$e->getMessage());
        }
    }
 
    public function 
Registrar($data) {
        try {
            
$sql "INSERT INTO ingreso (rif,nombre,producto,sistema_enc,nro_cupon,fecha_envio,nota) VALUES (?, ?, ?, ?, ?, ?, ?)";
 
            
$this->pdo->prepare($sql)->execute($data);
        
        } catch (
Exception $e) {
            die(
$e->getMessage());
        }
    }    
}