Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2011, 09:44
poncho8501
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Exclamación Problema al pasar variables de sesión a un html preparado para convertirse en PDF

Hola que tal a todos, tengo un problema en el momento de mostrar las variables de sesion en codigo html que despues convierto a pdf con la libreriria dompdf, la verdad, no se cual sea realmente el problema en el codigo. Estoy atorado con esto ya que cuando no coloco las varibles el pdf se genera bien y lo envia al correo electrónico, pero cuando sucede el problema se salta el envio y me muestra los resultados en el navegador, cosa que no deberia suceder.

Les paso el codigo para que puedan visualizar donde esta mi problema.
Gracias anticipadas.
<?php
require_once('./dompdf/dompdf_config.inc.php');
require_once('./phpmailer/class.phpmailer.php');

//Capturamos variables de sesion
$idmaquina=$_GET["idmaquinariax"];
$tipomaquina=$_GET["tipo"];

//Con esta linea ya se pueden hacer muchas cosas
$titulo = utf8_decode(htmlentities($_POST['titulo']));
$nombre = utf8_decode(htmlentities($_POST['nombre2']));
$apellidos= utf8_decode(htmlentities($_POST['apellidos']));
$direccion = utf8_decode(htmlentities($_POST['direccion']));
$ciudad = utf8_decode(htmlentities($_POST['ciudad']));
$telefono = utf8_decode(htmlentities($_POST['telefono']));
$celular = utf8_decode(htmlentities($_POST['celular']));
$nextel = utf8_decode(htmlentities($_POST['nextel']));
$email = utf8_decode(htmlentities($_POST['email']));
//Insertamos registros de cliente en BD
//Conectamos con MySQL
$conexion = mysql_connect("******", "******", "*****") or die("Error al conectarse con el servidor MySQL");
mysql_select_db("Catalogo", $conexion);

$sql = "INSERT INTO cotizacion_online (nombre, apellidos, direccion, ciudad, telefono, celular, nextel, email, fecha, id_maquinaria) values(
'$nombre','$apellidos','$direccion','$ciudad','$te lefono','$celular','$nextel','$email','".date("Y/m/d")."','$idmaquina');";
mysql_query($sql);

// creo el objeto phpmailer
$mail = new PHPMailer;
// asigno el envío por SMTP mucho más rápido y fiable
$mail->Mailer = "smtp";
// mi servidor requiere autentificación
$mail->SMTPAuth = true;
// utilizo constantes almacenadas fuera del script para darle más seguridad a los datos, aparte de así poder reutilizar los mismos
$mail->Username = '[email protected]';
$mail->Host = '[email protected]';
$mail->Password = 'XXXXX';
$mail->From = '[email protected]';
$mail->FromName = '[email protected]';
// aumentar el timeout es recomendable si estas en un hosting gratuito
$mail->Timeout=30;
//************************************************** ************************************************** *************
//Obtenemos los registros de la base de datos Catalogo
$queEmp = "SELECT * FROM maquinaria where idmaquinaria=$idmaquina";
$query = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($query);
$strHtml = utf8_decode('<html><body><Title>Cotización</Title>
<table width="100%" style="border:0">
<tr valign="middle">
<td colspan="6" align="center" bgcolor="#FFFFFF"><img src="images/espacio.jpg" alt="" width="100%" height="180"></td>
</tr>
<tr valign="middle">
<td colspan="6" align="center" bgcolor="#FFFFFF"><img src="images/Banner_importadora.jpg" alt="" width="100%" height="180"></td>
</tr>
<tr valign="middle">
<td colspan="6" align="center" bgcolor="#FFFFFF"><img src="images/espacio.jpg" alt="" width="100%" height="180"></td>
</tr>
<tr valign="middle">
<td colspan="6" align="center"></td>
</tr>
<tr>
<td align="left" bgcolor="#FFFFFF"></td>
<td align="left" bgcolor="#FFFFFF">Cliente:</td>
<td align="left" bgcolor="#FFFFFF">'.htmlentities("$nombre $apellidos").'</td>
<td colspan="3" align="center" bgcolor="#FFFFFF">&nbsp;</td>
<td colspan="2" rowspan="4" bgcolor="#FFCC33" border="1">&nbsp;</td></td>
</tr>
<tr>
<td align="left" bgcolor="#FFFFFF"></td>
<td align="left" bgcolor="#FFFFFF">Dirección:</td>
<td align="left" bgcolor="#FFFFFF">'.htmlentities("$direccion").':</td>
<td colspan="3" align="center" bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td align="left" bgcolor="#FFFFFF">Dirección:</td>
<td align="left" bgcolor="#FFFFFF">Teléfono:</td>
<td colspan="3" align="center" bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td align="left" bgcolor="#FFFFFF">Dirección:</td>
<td align="left" bgcolor="#FFFFFF">Email:</td>
<td colspan="3" bgcolor="#FFFFFF"></td>
</tr>
<tr>
<td colspan="6" bgcolor="#FFFFFF"><Strong>'.utf8_decode("Ponemos a su apreciable consideración la siguiente cotización:").'</Strong>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FF9900"><strong>Tipo Maquinaria</strong></td>
</tr>');

while ($resEmp = mysql_fetch_assoc($query)){
$marca = $resEmp['marca'];
$serie = $resEmp['serie'];
$anio = $resEmp['year'];
$descripcion = $resEmp['descripcion'];
$precio = $resEmp['precio_lista'];

$clave=$resEmp['clave'];
$imagen=$resEmp['imagen'];
$strHtml .= '<tr>';
$strHtml .= '<td><img src="'.strtolower($imagen.$clave).'.jpg"/></td>';
echo $strHtml.'';
$strHtml .= '<td>Marca:<Br>'. $marca .'<Br>Serie:<Br>'. $serie .'<Br>Año:<Br>'. $anio .'<Br>Descripción:<Br>'. $descripcion .'<Br>Precio:<Br>'. $precio .'</td>';
$strHtml .= '</tr>
<tr>
<td colspan="6">&nbsp;</td>
</tr>
<tr>
<td colspan="6" align="center" valign="middle"><Br><Br><Br><Br><Br><Br><Br><Br><B r><Br><Br><Br><Br><Br><Br><Br><Br><img src="images/Banner_importadora_Pie.jpg" alt="" width="800" height="150"></td>
</tr>';
}
$strHtml .= '</table></body></html>';
$dompdf = new DOMPDF();
//$dompdf->set_paper('letter');
$dompdf->load_html(utf8_decode($strHtml));
$dompdf->render();
//$dompdf->stream("cotizacion.pdf");
$nombre_archivo = 'cotizacion.pdf';
if (!$gestor = fopen($nombre_archivo, 'w')){
echo "No se puede abrir el archivo ($nombre_archivo)";
exit;
}
if (fwrite($gestor, $dompdf->output()) === FALSE) {
echo "No se puede escribir al archivo ($nombre_archivo)";
exit;
}
echo "Exito, se escribió al archivo ($nombre_archivo)";
fclose($gestor);
//$dompdf->stream("cotizacion.pdf",array("Attachment"=>0)) ; // switch Attachment to 1 to view PDF in Acrobat.
$mail->ClearAllRecipients();
$mail->ClearAttachments();
$mail->AddAddress("$email");
$mail->Subject = 'Prueba de correo electronico';
$mail->Body = 'Mensaje';
// nombre_adjunto es el nombre que verá el usuario cuando reciba el mail como nombre del archivo
$mail->AddAttachment($nombre_archivo,'Cotizacion.pdf') ;
// texto alternativo por si el usuario no admite html
$mail->AltBody = 'Mensaje de prueba mandado solo texto';
$exito = $mail->Send();
//borro el fichero real
if(!$exito){
//echo 'Problemas enviando correo electrónico';
echo ''.$mail->ErrorInfo;
}
else{
//unlink($nombre_archivo);
}
header("Location: barredoras.php");
////Probando Probando

Ojala que me haya podido explicar correctamente.

Gracias