Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/02/2017, 12:16
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

No te llega porque estás llamando a "envio.php" en vez de enviar.php".

Llevas pocos días programando verdad? De lo contrario sabrias que para eso no debes de hacerlo así, si no llamar a una función y poner ahí el contenido de enviar.php

De todas formas, tengo un ratito y quisiera ayudarte en algo extra que te ayudará en el futuro para usar menos lineas de código pues cuanto más largo sea, hay más probabilidades de que falle. Siempre hay una manera más corta de hacer lo mismo, es cuestión de conocer los atajos.

Te comparto tus archivos modificados, con menos repeticiones y con menos lineas de código (aún se podría reducir más esa lógica de index.php si se modificase la estrctura del "usuario.model.php" y quizá también de "usuario.entidad.php".

index.php (solo php, el html sigue igual)
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.entidad.php'
require_once 
'usuario.model.php';

# Incluimos el archivo enviar que contendrá la función para enviar correos y podrá ser llamada desde cualquier lugar donde se necesite enviar el correo
include 'enviar.php'

// Logica 
$alm = new Usuario(); 
$model = new UsuarioModel(); 

$page 'index';

if(isset(
$_REQUEST['action'])) 
{
    foreach(
$_REQUEST as $key => $value) {
        $
$key $value# Convertimos el índice en una variable al cual le asignamos el valor correspondiente

        
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')
        
$model->$action($id);
    else if(
$action == 'editar')
        
$model->Obtener($id); # Podrías eliminar esta linea, y dejar solo la de arriba si en vez de Obtener, fuese "Editar" .
    
else
        
$model->$action($alm); 

    if(
$action == 'enviar')
        
$page '../mail/enviar';

    if(
$action != 'editar')
        
header('Location: ' $page '.php'); 

?>
enviar.php (fijate que se incluyó este archivo dentro de index.php, después de los requires_one, para asi poder llamar a enviarCorreo desde cualquier lugar en index.php

Código PHP:
<?php
  
function envioCorreo($data) {
    foreach(
$data as $key => $value) {
        $
$key $value# Convertimos el índice en una variable al cual le asignamos el valor correspondiente

        
$from="JESYMCA SISTEMA INTERNO"
        
$to="[email protected]"
        
$asunto="Test desde Archivo Mail PHP"
        
$msg='<html> 
        <head> 
          <title>Actualizacion en Status de Despacho</title> 
        </head> 
        <body> 
          <table> 
          <tr><td> 
          <img src="http://www.jesuministrosymas.com.ve/LOGO.png" width="400" height="74" alt="J.E SUMINISTROS Y MAS, C.A." longdesc="LOGO J.E SUMINISTROS Y MAS, C.A." id="logo" align="left"> 
          </tr></td> 
            <tr> 
              <td>Saludos Cordiales Estimado/a '
$nombre.'</td> 
            </tr> 
            <tr> 
              <td>Sally</td> 
            </tr> 
          </table> 
        </body> 
        </html>'

        
$cabeceras  'MIME-Version: 1.0' "\r\n"
        
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n"
        
$cabeceras .= "To: $to" "\r\n"
        
$cabeceras .= "From: $from" "\r\n"

        
// mail($to,$subj,$msg,"From: $from"); 
        
$res mail $to$asunto$msg,$cabeceras); 
        
var_export$res ); 
  }