Cargando



Diseño de reportes en pdf con FPDF y PHP

Muchas aplicaciones web requieren emitir informes o documentación en formato pdf para que el usuario pueda leer o descargar. Para emitir información en formato PDF podemos utilizar distintas librerías como dompdf, pdflib y FPDF. No os perdáis este tutorial.


mar 11 2015 18:47
Intermedio

fpdf-solvetic.jpg

FPDF es una librería, más precisamente un conjunto de clases escritas en PHP que permite generar archivos PDF facilitando el trabajo desde PHP, anteriormente se utilizaba la librería PDFlib.

FPDF permite configurar muchos parámetros para dar forma al documento que queramos generar, entre ellas incluyen, el tipo y tamaño de letra, configurar formato y los márgenes de la página. Gestionar el encabezado y pie de página, números de página y muchos parámetros más.

Cómo instalar la librería FPDF en un sitio web


La librería es una clase, para funcionar es necesario PHP 4 como minimo, la mayoria de los servidores ya soportan php 5.3 o 5.4, podemos descargar la librería desde el siguiente enlace: http://www.fpdf.org/

Una vez descargado el archivo zip, lo descomprimimos y pondremos en nuestro servidor, ya sea en local o en el servidor final. Creamos un directorio denominado pdf y alli subimos los archivos de la librería, luego lo incluiremos ya sea desde el backend o desde el frontend.

La instalación no requiere ningún otro requisito, por lo que comprobaremos que resulta bastante sencilla.

Comenzamos con FPDF desde PHP.

Veamos un ejemplo sencillo de como funciona la librería. Crearemos un archivo index.php y dentro podremos el código para mostrar un archivo PDF con un titulo y un texto el código sera el siguiente:
<?php

require('pdf/fpdf.php');

$pdf=new FPDF();
$pdf->AddPage();

$pdf->SetFont('Arial','B',16);
$pdf->Cell(50,10,'Probando FPDF',1,1,'L');

$pdf->Cell(50,5,'salto de linea',1,1);

$pdf->SetFont('Arial','B',10);
$pdf->MultiCell(190,5,'Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y los mezcló de tal manera que logró hacer un libro de textos especimen. No sólo sobrevivió 500 años, sino que tambien ingresó como texto de relleno en documentos electrónicos, quedando esencialmente igual al original. Fue popularizado en los 60s con la creación de las hojas "Letraset", las cuales contenian pasajes de Lorem Ipsum, y más recientemente con software de autoedición, como por ejemplo Aldus PageMaker, el cual incluye versiones de Lorem Ipsum.');

$pdf->Output();

?>

fpdf.jpg


Veamos detalladamente la propiedad Cell, los parámetros son los siguientes
$pdf->Cell(50,10,'Probando FPDF',1,1,'L');
Cell(ancho, Alto, texto, borde, salto de linea, alineacion de texto)

Aclaramos que borde puede tomar los valores 1: con border y 0 sin borde.
Salto de linea 1 saltar linea y 0: no saltar linea. En este caso para que sea comprensible hemos identificado el salto de linea, pero debería ir sin texto y sin borde.

Ahora el mismo codigo pero quitamos los bordes cambiando 1 por cero, y convertimos el tesxto en utf8 para solucionar el problema de tildes y ñ.
$pdf->Cell(50,10,'Probando FPDF',0,1,'L');

$pdf->Cell(50,5,'',0,1);

$pdf->SetFont('Arial','B',10);

//convertimos el texto a utf8
$texto = utf8_decode('Lorem Ipsum …...');

$pdf->MultiCell(190,5,$texto);
El resultado es el siguiente:

fpdf2.jpg


Cuando utilizar Cell o Multicell


CELL
Sirve para crear una celda, debemos conocer exactamente la longitud del contenido ya que su tamaño no varía por si solo por lo tanto si el contenido es mas ancho saldrá fuera de la celda.


MULTI CELL
Sirve cuando tenemos párrafos de texto que no sabemos cuanto espacio ocupa. Así que en lugar de configurar una altura de la celda, estableceremos el ancho y la celda se ajustara a la altura para el texto que se mostrará dentro, variando el tamaño de texto se ajusta la celda Multicell.


Podemos utilizar tanto las funciones Cell y MultiCell, en cualquier parte, solo debemos definir qué tipo de letra utilizaremos antes de invocar cada función.

A continuación vamos a crear una cabecera y un pie de página para nuestro documento pdf. Para ello utilizaremos los métodos de FPDF Header() y Footer(), estos métodos son heredados y se ejecutarán automáticamente si están presentes, al crearse la página con AddPage() detecta si los métodos están presentes, sino no los ejecuta. Cada vez que se cree una nueva página los métodos Header y Footer se volverán a ejecutar.

Veamos un ejemplo generando un listado sencillo de venta de productos e importes, además veremos como definir una constante para utilizar como símbolo de moneda.
<?php

require('pdf/fpdf.php');

//Creamos la nueva clase pdf que hereda de fpdf

class PDF extends FPDF
{

// utilizamos la funcion Header() y la personalizamos para que muestre la cabecera de página
function Header()

{
   

       // seteamos el tipo de letra Arial Negrita 16
    $this->SetFont('Arial','B',16);

    // ponemos una celda sin contenido para centrar el titulo o la celda del titulo a la derecha
    $this->Cell(50);

    // definimos la celda el titulo
    $this->Cell(100,10,'Encabezado Reporte de Ventas',1,0,'C');

    // Salto de línea salta 20 lineas
    $this->Ln(20);

}

// utilizamos la funcion Footer() y la personalizamos para que muestre el pie de página
function Footer()

{
    // Seteamos la posicion de la proxima celda en forma fija a 1,5 cm del final de la pagina

    $this->SetY(-15);
    // Seteamos el tipo de letra Arial italica 10

    $this->SetFont('Arial','I',10);
    // Número de página

    $this->Cell(0,10,'Pagina '.$this->PageNo().'/{nb}',0,0,'C');
}

}
El número de página se establece mediante la función:
$this->PageNo()

fpdf3.jpg


Vamos a crear un listado de productos en pdf, vamos a tomar los productos desde una base de datos en mysql y mediante php consultamos la base de datos y generaremos el listado en forma dinámica.

Creamos una base de datos Mercado y dentro la tabla productos, no añadiremos la tablas auxiliares de categorías y rubros.
--
-- Base de datos: `mercado`

--
-- Estructura de tabla para la tabla `productos`

--

CREATE TABLE IF NOT EXISTS `productos` (
  `id_publicacion` int(11) NOT NULL AUTO_INCREMENT,

  `idrubro` int(11) DEFAULT NULL,
  `idcategoria` int(11) DEFAULT NULL,

  `idsubcategoria` int(11) DEFAULT NULL,
  `imagen1` varchar(255) DEFAULT NULL,

  `imagen2` varchar(255) DEFAULT NULL,
  `imagen3` varchar(255) DEFAULT NULL,

  `imagen4` varchar(255) DEFAULT NULL,
  `imagen5` varchar(255) DEFAULT NULL,

  `imagen6` varchar(255) DEFAULT NULL,
  `precio` decimal(10,2) DEFAULT NULL,

  `activo` varchar(3) DEFAULT NULL,
  `comentario` text,

  `titulo` varchar(255) DEFAULT NULL,
   `stock` int(11) DEFAULT NULL,

  PRIMARY KEY (`id_publicacion`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Luego nos conectamos mediante php a la base de datos, consultamos todos los productos y generamos el listado pdf:
<?php error_reporting(0);

require('pdf/fpdf.php');

//Conecto a la base de datos
$enlace = mysql_connect("localhost", "root");

mysql_select_db("mercado", $enlace);
//Consulta la tabla productos solicitando todos los productos

$resultado = mysql_query("SELECT * FROM productos", $link);

//Instaciamos la clase para genrear el documento pdf
$pdf=new FPDF();

//Agregamos la primera pagina al documento pdf
$pdf->AddPage();

//Seteamos el inicio del margen superior en 25 pixeles

$y_axis_initial = 25;

//Seteamos el tiupo de letra y creamos el titulo de la pagina. No es un encabezado no se repetira
$pdf->SetFont('Arial','B',12);

$pdf->Cell(40,6,'',0,0,'C');
$pdf->Cell(100,6,'LISTA DE PRODUCTOS',1,0,'C');

$pdf->Ln(10);

//Creamos las celdas para los titulo de cada columna y le asignamos un fondo gris y el tipo de letra
$pdf->SetFillColor(232,232,232);

$pdf->SetFont('Arial','B',10);
$pdf->Cell(125,6,'Titulo',1,0,'C',1);

$pdf->Cell(30,6,'Precio',1,0,'C',1);
$pdf->Cell(30,6,'Foto',1,0,'C',1);

$pdf->Ln(10);

//Comienzo a crear las fiulas de productos según la consulta mysql

while($fila = mysql_fetch_array($resultado))
{

    $titulo = $fila['titulo'];

    $precio = $fila['precio'];
    $imagen="fotos/".$row['imagen1'];

   
    $pdf->Cell(125,15,$titulo,1,0,'L',0);

       $pdf->Cell(30,15,$precio,1,0,'R',1);
//Muestro la iamgen dentro de la celda GetX y GetY dan las coordenadas actuales de la fila

     $pdf->Cell( 30, 15, $pdf->Image($imagen, $pdf->GetX()+5, $pdf->GetY()+3, 20), 1, 0, 'C', false );

$pdf->Ln(15);

}

mysql_close($enlace);

//Mostramos el documento pdf
$pdf->Output();

?>

fpdf4.jpg


¿Te ayudó este Tutorial?


4 Comentarios


Ramón Alejandro Landázuri Sosa
sep 15 2016 01:14

Buenas tardes Sergio, tengo un pequeño problema con la libreria al momento de generar los PDF, y es muy raro no se a que se deba que en algunos equipos de computo solo me respeta las imagenes y no me aparecen nada de las lineas generadas ni texto, pero si lo veo en otro equipo si sale todo correctamente, he tratado tambien verlas al descargar y pasa lo mismo es un error algo aleatorio pero no tengo idea a que se deba, alguna vez te ha pasado?

 

Saludos y gracias por tu apoyo


Jaime Alberto Escobar
dic 13 2017 08:58

Hola de antemano muchas gracias y buen tutorial

 

me sale este error 

Error de FPDF: algunos datos ya se han emitido, no se puede enviar un archivo PDF

 

y este es el código porque lo quiere hacer con mysqli............

 

<?php 

require'fpdf/fpdf.php';
 require('conexion.php');
//Conecto a la base de datos
//$enlace = mysql_connect("localhost", "root");
 
//mysql_select_db("mercado", $enlace);
//Consulta la tabla productos solicitando todos los productos
 
//$resultado = mysql_query("SELECT * FROM productos", $link);
$query=("SELECT * FROM productos");
 
$resultados=mysqli_query($conexion, $query); 
//Instaciamos la clase para genrear el documento pdf
$pdf=new FPDF();
 
//Agregamos la primera pagina al documento pdf
$pdf->AddPage();
 
//Seteamos el inicio del margen superior en 25 pixeles
 
$y_axis_initial = 25;
 
//Seteamos el tiupo de letra y creamos el titulo de la pagina. No es un encabezado no se repetira
$pdf->SetFont('Arial','B',12);
 
$pdf->Cell(40,6,'',0,0,'C');
$pdf->Cell(100,6,'LISTA DE PRODUCTOS',1,0,'C');
 
$pdf->Ln(10);
 
//Creamos las celdas para los titulo de cada columna y le asignamos un fondo gris y el tipo de letra
$pdf->SetFillColor(232,232,232);
 
$pdf->SetFont('Arial','B',10);
$pdf->Cell(125,6,'Titulo',1,0,'C',1);
 
$pdf->Cell(30,6,'Precio',1,0,'C',1);
$pdf->Cell(30,6,'Foto',1,0,'C',1);
 
$pdf->Ln(10);
 
//Comienzo a crear las fiulas de productos según la consulta mysql
 
while($fila = mysqli_fetch_assoc($resultados))
{
 
$titulo = $fila['titulo'];
 
$precio = $fila['precio'];
$imagen="fotos/".$fila['imagen1'];
 
 
$pdf->Cell(125,15,$titulo,1,0,'L',0);
 
 $pdf->Cell(30,15,$precio,1,0,'R',1);
//Muestro la iamgen dentro de la celda GetX y GetY dan las coordenadas actuales de la fila
 
// $pdf->Cell( 30, 15, $pdf->Image($imagen, $pdf->GetX()+5, $pdf->GetY()+3, 20), 1, 0, 'C', false );
 
$pdf->Ln(15);
 
 
 
mysqli_close($conexion);
 
//Mostramos el documento pdf
$pdf->Output();
}
?>
 
 
espero me puedas contestar a que se debe..... muchas gracias

hermansolvetic
dic 19 2017 07:52

Estimado Jaime Alberto Escobar, si el error que te sale es como este:

Fatal error: Uncaught Exception: FPDF error: Some data has already been output, can't send PDF file in 

 

este es un error muy comun con fpdf, para solucionarlo solo debes ir al archivo fpdf.php y buscar

esta función: 

function Output($dest='', $name='', $isUTF8=false){ }

 

y dentro de ella poner en la primera linea:

 

ob_clean(); 

 

Con esta simple linea se debería corregir el error, espero que te haya sido de ayuda.

Hola Sergio, en primer lugar enhorabuena por el tuto, muy bueno y muy bien explicado.

En segundo lugar te traigo un pequeño reto por el problema que me sucede, estoy haciendo en php un PDF que se envía por mail, la cosa es que los datos los tomo de una BD en mysql, entonces cuando los registros no tienen acentos ni eñes, la cosa va como la seda y todo se muestra bien, pero cuando contienen dichos caracteres no es que lo muestre mal, es que directamente no muestra el registro, entiendo que es porque al comprarlos en la bd con el acento o la eñe mal pues no lo encuentra y no me lo muestra, la historia es que he probado un millon de cosas, UTF-8 decode, encode.... funciones.... nada me ha funcionado y ya desesperado me he decidido a pedir ayuda, a ver si puedes echarme un cable. Este es mi código:

<?php
session_start();
include ('./php/conection.php');
require ('phpmailer/class.phpmailer.php');
require('./fpdf/fpdf.php');
$enlace = mysql_connect("localhost", "creameto_root","@fro03Dita10");
mysql_select_db("creameto_cartbasic1", $enlace);

$usuariow = $_SESSION['clien'];

$resultado = mysql_query("SELECT * FROM cliente WHERE Nombre = '$usuariow'", $enlace);

$sql2 = mysql_query("SELECT * FROM cart_product JOIN product ON cart_product.product_id = product.id JOIN cart ON cart_product.cart_id = cart.id WHERE cart.client_email = '". $_SESSION["clien"]."' AND cart_product.cart_id = '". $_SESSION["iden"]."'", $enlace);

$sql3 = mysql_query("SELECT * FROM cart_product_to JOIN cart_product WHERE cart_product_to.cart_idt = '". $_SESSION["iden"]."'", $enlace);

$sql4 = mysql_query("SELECT * FROM cartfact ***** BY numfact DESC LIMIT 1", $enlace);

while($row = mysql_fetch_array($sql4))
{
    $num = $row["numfact"];
    $numero1 =  $num + "1";
}

$fecha= date("Y-m-d");

while($row = mysql_fetch_array($resultado))
{
    $Numero = $row['Numero de cliente'];
	$Nombre = $row['Nombre'];
	$nif = $row['NIF'];
	$fv = $row['Fecha de visita'];
	$ufc = $row['Ultima fecha de compra'];
	$tele = $row['Telefono'];
	$dire = $row['Direccion'];
	$muni = $row['Municipio'];
	$provi = $row['Provincia'];
	$cp = $row['Codigo postal'];
	$correo = $row['Correo electronico'];
	$persona = $row['Persona de contacto'];
	$ccc = $row['Numero de cuenta'];
	$obser = $row['Observaciones'];
}


class PDF extends FPDF
{

// Page header
function Header()
{
    // Logo
    $this->Image('./imagespdf/logo1.png',-2,5,200);
    // Arial bold 15
    $this->SetFont('Arial','B',15);
    // Move to the right
    $this->Cell(80);
    // Line break
    $this->Ln(5);
}

// Page footer
function Footer()
{
    // Position at 1.5 cm from bottom
    $this->SetY(-15);
    // Arial italic 8
    $this->SetFont('Arial','I',8);
    // Page number
    $this->Cell(0,10,'Dispone de 48 horas para comunicar cualquier problema con su envio. Pagina '.$this->PageNo(),0,0,'C');
}
// Load data
function CellFit($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='', $scale=false, $force=true)
    {
        //Get string width
        $str_width=$this->GetStringWidth($txt);
 
        //Calculate ratio to fit cell
        if($w==0)
            $w = $this->w-$this->rMargin-$this->x;
        $ratio = ($w-$this->cMargin*2)/$str_width;
 
        $fit = ($ratio < 1 || ($ratio > 1 && $force));
        if ($fit)
        {
            if ($scale)
            {
                //Calculate horizontal scaling
                $horiz_scale=$ratio*100.0;
                //Set horizontal scaling
                $this->_out(sprintf('BT %.2F Tz ET',$horiz_scale));
            }
            else
            {
                //Calculate character spacing in points
                $char_space=($w-$this->cMargin*2-$str_width)/max($this->MBGetStringLength($txt)-1,1)*$this->k;
                //Set character spacing
                $this->_out(sprintf('BT %.2F Tc ET',$char_space));
            }
            //Override user alignment (since text will fill up cell)
            $align='';
        }
 
        //Pass on to Cell method
        $this->Cell($w,$h,$txt,$border,$ln,$align,$fill,$link);
 
        //Reset character spacing/horizontal scaling
        if ($fit)
            $this->_out('BT '.($scale ? '100 Tz' : '0 Tc').' ET');
    }
 
    function CellFitSpace($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
    {
        $this->CellFit($w,$h,$txt,$border,$ln,$align,$fill,$link,false,false);
    }
 
    //Patch to also work with CJK double-byte text
    function MBGetStringLength($s)
    {
        if($this->CurrentFont['type']=='Type0')
        {
            $len = 0;
            $nbbytes = strlen($s);
            for ($i = 0; $i < $nbbytes; $i++)
            {
                if (ord($s[$i])<128)
                    $len++;
                else
                {
                    $len++;
                    $i++;
                }
            }
            return $len;
        }
        else{
            return strlen($s);
		}
    }
}	



$pdf = new PDF();
$pdf->SetFont('Arial','',12);
$pdf->AddPage();

$pdf->SetFillColor(232,232,232);
 
$pdf->SetFont('Arial','B',9);

//Comienzo a crear las filas de productos según la consulta mysql
 

$pdf->SetXY(165, 15 );
$Nombre1 = utf8_encode($Nombre);
$dire1 = utf8_encode($dire);
$muni1 = utf8_encode($muni);
$provi1 = utf8_encode($provi);

   $pdf->Ln(35);
//    $this->Cell(10,15,$Numero,1,0,'L',0);
	   $pdf->Cell(20,6,'Factura No: ',LT,0,'R',1);	   
	   $pdf->Cell(70,6,$numero1,RT,1,'L',0);
	   $pdf->Cell(20,6,'Fecha: ',L,0,'R',1);	   
	   $pdf->Cell(70,6,$fecha,R,1,'L',0);
	   $pdf->Cell(20,6,'Cliente: ',L,0,'R',1);
	   $pdf->CellFitSpace(70,6,$Nombre1,R,1,'L',0);
	   $pdf->Cell(20,6,'NIF: ',L,0,'R',1);
	   $pdf->Cell(70,6,$nif,R,1,'L',0);
//	   $pdf->Cell(20,15,$fv,1,0,'R',1);
//	   $pdf->Cell(20,15,$ufc,1,0,'R',1);
//	   $pdf->Cell(20,15,$tele,1,0,'R',1);
	   $pdf->Cell(20,6,'Direccion: ',L,0,'R',1);
	   $pdf->Cell(70,6,$dire1,R,1,'L',0);
	   $pdf->Cell(20,6,'Municipio: ',L,0,'R',1);	   
	   $pdf->Cell(70,6,$muni1,R,1,'L',0);
	   $pdf->Cell(20,6,'C.P.: ',L,0,'R',1);	   
	   $pdf->Cell(70,6,$cp,R,1,'L',0);
	   $pdf->Cell(20,6,'Provincia: ',L,0,'R',1);	   
	   $pdf->Cell(70,6,$provi1,R,1,'L',0);
	   $pdf->Cell(20,6,'Email: ',LB1,0,'R',1);	   
	   $pdf->Cell(70,6,$correo,RB1,1,'L',0);
	   
//	   $pdf->Cell(30,15,$persona,1,0,'R',1);
//	   $pdf->Cell(30,15,$ccc,1,0,'R',1);
//	   $pdf->Cell(45,6,$obser,1,0,'R',1);

 
$pdf->Ln(6);



//Seteamos el inicio del margen superior en 25 pixeles
 
$y_axis_initial = 25;
 
//Creamos las celdas para los titulo de cada columna y le asignamos un fondo gris y el tipo de letra
$pdf->SetFillColor(232,232,232);
 
$pdf->SetFont('Arial','B',9);
$pdf->Ln(10);
$pdf->Cell(15,6,'Pedido',1,0,'C',1);
$pdf->Cell(90,6,'Articulo',1,0,'C',1);
$pdf->Cell(20,6,'Cantidad',1,0,'C',1);
$pdf->Cell(20,6,'Precio U.',1,0,'C',1);
$pdf->Cell(20,6,'IVA',1,0,'C',1);
$pdf->Cell(20,6,'Precio T.',1,0,'C',1);
 
$pdf->Ln(10);
while($fila = mysql_fetch_array($sql2))
{
	
    $producto = $fila['name'];
    $cantidad = $fila['q'];
	$preciou = round($fila['price'],2);
	$precio = round($fila['q']*$fila['price'],2);
	$numped = $fila['id'];
	$fechaped = $fila['created_at'];
	$cliente = $fila['client_email'];
	$dele = $fila['delegado'];
	$iva = round(($precio * 21)/100,2);
//	$observacionespedido = $_POST['obserped'];
	
	 
	 
	$pdf->Cell(15,6,$numped,1,0,'L',0);
	$pdf->CellFitSpace(90,6,$producto,1,0,'L',0);
	$pdf->Cell(20,6,$cantidad,1,0,'C',0);
	$pdf->Cell(20,6,$preciou,1,0,'R',0);
	$pdf->Cell(20,6,$iva,1,0,'R',0);
	$pdf->Cell(20,6,$precio,1,0,'R',0);
	   

 
$pdf->Ln(6);

}

while($fila = mysql_fetch_array($sql3))
{
	
	$total = round($fila['totalpedido'],2);

}
$pdf->Ln(20);
	$pdf->Cell(25,6,'Total factura: ',1,0,'C',1);
	$pdf->Cell(20,6,$total,1,1,'C',0);

$pdf->Ln(5);	
	$pdf->Cell(45,6,'Total IVA: ',1,0,'C',1);
	$pdf->Cell(30,6,round(($total * 21)/100,2),1,0,'C',1);
	
$pdf->Ln(5);	
	$pdf->Cell(45,6,'Total factura + IVA: ',1,0,'C',1);
	$pdf->Cell(30,6,round($total * 1.21,2),1,0,'C',1);
$q1 = $con->query("INSERT INTO cartfact(id,numfact,fechafact) VALUE ('$numped','$numero1','$fecha')");

mysql_close($con);




$pdf->Output("facturasevilla/FA".$numero1.".pdf","F");
$path = "facturasevilla/FA".$numero1.".pdf";

$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->From = 'administracion@creametous.com';
$mail->FromName = 'Administración PharmaCream';
$mail->Subject = 'Factura PharmaCream de ' . $_SESSION['clien'] . '. Número: ' . $numero1;
$mail->Body = 'Anexo remitimos su factura.';
$mail->AddAddress('pedidos@creametous.com');
$asunto = "Factura PharmaCream de " . $_SESSION['clien'] . ". Número: ". $numero1;
// definiendo el adjunto,administracion@creametous.com,comercial@creametous.com
$mail->AddAttachment($path, $asunto, $encoding = 'base64', $type = 'application/pdf'); 

// enviando
if(!$mail->Send())
{
echo "Message could not be sent, enter a valid e-mail. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}else{
	print "<script>alert('Factura realizada con éxito');</script>";
	 header("Location: ./index.php/"); 
}

//$mail->Send();
?>

Muchas gracias de antemano...

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X