Foros del Web » Programando para Internet » PHP »

Error con include y require

Estas en el tema de Error con include y require en el foro de PHP en Foros del Web. Tengo este script que me genera un archivo pdf a partir de una consulta: Código PHP: <?php //conecta a la base de datos $mysql_id  =  mysql_connect ( 'p50mysql199.secureserver.net' ,  'everestltda' ...
  #1 (permalink)  
Antiguo 05/01/2009, 13:15
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Error con include y require

Tengo este script que me genera un archivo pdf a partir de una consulta:
Código PHP:
<?php
//conecta a la base de datos
$mysql_id mysql_connect('p50mysql199.secureserver.net''everestltda''Buckdich0920');
mysql_select_db('everestltda'$mysql_id);

//instancia las clases fpdf y phpmailer
require ('fpdf153/fpdf.php');
require (
'includes/class.phpmailer.php');


//recibe variables del formulario
$idextracto=$_GET['id'];
$placa=$_GET['placa'];
$empresa=$_GET['empresa'];
$fechasalida=$_GET['fechasalida'];
$fechallegada=$_GET['fecha_regreso'];

//crea el pdf
$pdf=new FPDF('P','cm','letter');
$pdf->AddPage();


//Consultas que se utilizan 
$sql="SELECT * FROM viaje WHERE vehiculo = '".$placa."' AND id_viaje = '".$idextracto."'";
$sql2="SELECT * FROM contratante WHERE Empresa = '".$empresa."'";
$sql3="SELECT * FROM vehiculo WHERE no_interno = '".$placa."'";

$sql4="SELECT * FROM oficina WHERE ciudad = '".$ciudadUsuarioL."'";

//Ejecuta las consultas
$resultado mysql_query($sql) or die( mysql_error());
$resultado2 mysql_query($sql2) or die( mysql_error());
$resultado3 mysql_query($sql3) or die ( mysql_error());
$resultado4 mysql_query($sql4) or die ( mysql_error());

$fechadate("d/m/Y"time()+7200);

$horadate("g:i:s a"time()+7200);


while( 
$row mysql_fetch_assoc($resultado)) {
       
$row2 mysql_fetch_assoc($resultado2);
       
$row3 mysql_fetch_assoc($resultado3);
       
$row4 mysql_fetch_assoc($resultado4);
  
//cambia formato a la fecha para poder presentarla como dd-mm-aa
$fecha_salida strtotime($row['fecha_salida']);
$fecha_regreso strtotime($row['fecha_regreso']);
 

$fecha2=date("d-m-Y",$row['fecha_regreso']);
//arma el pdf ubicando cada campo traido de la base de datos en una posicion especifica en la hoja SetY lo ubica verticalmente y Setx lo hace horizontalmente
$pdf->Image('logo.JPG'41.76.71.8);
$pdf->SetFont('Times''',8);
$pdf->SetY(2.1);
$pdf->SetX(11.6);
$pdf->Cell(0,0,$row4['direccion']);
$pdf->SetY(2.1);
$pdf->SetX(14.6);
$pdf->Cell(0,0,$row4['ciudad']);
$pdf->SetY(2.4);
$pdf->SetX(11.8);
$pdf->Cell(0,0,'E-mail: [email protected]');
$pdf->SetY(2.7);
$pdf->SetX(12.1);
$pdf->Cell(0,0,$row4['telefono']);
$pdf->SetY(2.7);
$pdf->SetX(13.8);
$pdf->Cell(0,0,'Cel. 313 767 4903');
$pdf->SetY(3);
$pdf->SetX(12.2);
$pdf->Cell(0,0,'AVANTEL: 10*2744 - 350 664 5192');
$pdf->SetY(3.3);
$pdf->SetX(11.9);
$pdf->SetFont('Times','B',8);
$pdf->Cell(0,0,'En internet: http://www.everestltda.com');
$pdf->SetFont('Arial','B',12);
$pdf->SetY(6); 
$pdf->SetX(5);
$pdf->Cell(0,0,$row['origen']);
$pdf->SetY(6.6); 
$pdf->SetX(5);
$pdf->Cell(0,0,$row['destino']);
$pdf->SetY(7.2);
$pdf->SetX(7.3);
$pdf->Cell(0,0,date("d-m-Y"$fecha_salida));
$pdf->SetY(7.2);
$pdf->SetX(16);
$pdf->Cell(0,0date("d-m-Y",$fecha_regreso));
$pdf->SetFont('Arial','',10);
$pdf->SetY(7.8);
$pdf->SetX(6.8);
$pdf->Cell(0,0,$row2['Empresa']);
$pdf->SetY(8.6);
$pdf->SetX(7.5);
$pdf->Cell(0,0,$row['objeto']);
$pdf->Sety(9.6);
$pdf->SetX(6.5);
$pdf->Cell(0,0,$row['observaciones']);
$pdf->SetFont('Arial','B',10);
$pdf->Sety(11.3);
$pdf->SetX(5.3);
$pdf->Cell(0,0,$row3['placa']);
$pdf->Sety(11.8);
$pdf->SetX(5.3);
$pdf->Cell(0,0,$row3['modelo']);
$pdf->Sety(12.2);
$pdf->SetX(5.3);
$pdf->Cell(0,0,$row3['tarjeta_operacion']);
$pdf->Sety(11.3);
$pdf->SetX(13.3);
$pdf->Cell(0,0,$row3['marca']);
$pdf->Sety(11.8);
$pdf->SetX(13.3);
$pdf->Cell(0,0,$row3['no_interno']);
$pdf->Sety(12.2);
$pdf->SetX(13.3);
$pdf->Cell(0,0,$row3['vencimiento_t_o']);
$pdf->SetFont('Arial','',8);
$pdf->Sety(15.2);
$pdf->Setx(5.3);
$pdf->Cell(0,0,'Extracto del Contrato Expedido el dia ');
$pdf->Sety(15.2);
$pdf->Setx(10.3);
$pdf->Cell(0,0,$fecha);
$pdf->Sety(15.2);
$pdf->Setx(12);
$pdf->Cell(0,0,'A las ');
$pdf->Sety(15.2);
$pdf->Setx(13);
$pdf->Cell(0,0,$hora);
$pdf->Sety(15.2);
$pdf->Setx(14.6);
$pdf->Cell(0,0,'Elaborado por');
$pdf->Sety(15.2);
$pdf->Setx(17.6);
$pdf->Cell(0,0,$nombreUsuarioL);

//Se crea el formato de correo a Enviar
$mail=new PHPMailer();
$mail->Mailer="smtp";
$mail->Helo "www.crmbusiness.biz"//Muy importante para que llegue a hotmail y otros
$mail->SMTPAuth=true;
$mail->Host="smtpout.secureserver.net";
$mail->Port=80//depende de lo que te indique tu ISP. El default es 25, pero nuestro ISP lo tiene puesto al 26
$mail->Username="[email protected]";
$mail->Password="buckdich";
$mail->From="[email protected]";
$mail->FromName="Everest Ltda";
$mail->Timeout=60;
$mail->IsHTML(true);
//Enviamos el correo
$mail->AddAddress('[email protected]'); //Puede ser Hotmail
$mail->Subject='Extracto de contrato';

//Creamos el documento como String para poder enviarlo como archivo adjunto
$doc=$pdf->Output('extracto /' .$row3['no_interno'].'/'.date("d-m-Y"$fecha_salida).'','S');

//ENVIA EL CORREO
$mail->AddStringAttachment($doc'extracto /' .$row3['no_interno'].'/'.date("d-m-Y"$fecha_salida).'''base64''application/pdf');
      if(!
$mail->Send()) {
            echo 
"Error al enviar el archivo!" $mail->Error();
      } else {
            
$pdf->Output('extracto /' .$row3['no_interno'].'/'.date("d-m-Y"$fecha_salida).'','I');
      }
//var_dump($doc);
}



?>
Pero para poder incluir otros datos debo incuir los archivos
Cita:
include('connect.php');
include('login.php');

si los llamo con require me da este error
Cita:

Warning: Cannot modify header information - headers already sent by (output started at /home/content/c/e/j/cejarcon/html/everest/extract/login.php:35) in /home/content/c/e/j/cejarcon/html/everest/extract/fpdf153/fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
y si lo llamo con include me da este [quote]

Fatal error: Call to undefined method phpmailer::Error() in /home/content/c/e/j/cejarcon/html/everest/extract/pdf.php on line 165

y si no incluyo esas dos lineas de llamado de archivo me funciona correcto
__________________
Say no more.......
  #2 (permalink)  
Antiguo 05/01/2009, 14:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Error con include y require

Hola el_cesar,

Revisa este link: http://www.forosdelweb.com/2037876-post179.html

Saludos
  #3 (permalink)  
Antiguo 05/01/2009, 14:33
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Error con include y require

ok ya lei la faq pero no entendi muy bien, el archivo del que envio las variables para que se cree el pdf es
Código PHP:
<?php
include('connect.php');
include(
'login.php');

if(
$loginCorrecto)
{
$horadate("g:i:s a"time()+7200);
if(
$hora<'12:00:00 pm' && $hora>'12:00:00 am') {
echo 
"Buenos Dias <b>".$nombreUsuarioL."</b>";
echo 
"<p>";
echo 
"</p>";
} elseif(
$hora>'12:00:00 pm' && $hora<'6:59:00 pm') {
echo 
"Buenas Tardes <b>".$nombreUsuarioL."</b>";
echo 
"<p>";
echo 
"</p>";
}elseif(
$hora>'7:00:00 pm' && $hora<'12:00:00 am') {
echo 
"Buenas Noches <b>".$nombreUsuarioL."</b>";
echo 
"<p>";
echo 
"</p>";
}
?>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

</head>
<?php 

//conecta a la base de datos
$mysql_id mysql_connect('p50mysql199.secureserver.net''everestltda''Buckdich0920');
mysql_select_db('everestltda'$mysql_id);


$idviaje=$_POST['id_viaje'];
$vehiculo=$_POST['vehiculo'];
$conductor=$_POST['conductor'];
$contratante=$_POST['contratante'];
$origen=$_POST['origen'];
$destino=$_POST['destino'];
$dia_salida=$_POST['dia_salida'];
$mes_salida=$_POST['mes_salida'];
$ano_salida=$_POST['ano_salida'];
$fechasalida=$ano_salida.'-'.$mes_salida.'-'.$dia_salida;
$dia_llegada=$_POST['dia_regreso'];
$mes_llegada=$_POST['mes_regreso'];
$ano_llegada=$_POST['ano_regreso'];
$fechallegada=$ano_llegada.'-'.$mes_llegada.'-'.$dia_llegada;
$objeto=$_POST['objeto'];
$observaciones=$_POST['observaciones'];

$fecha_actual=date("Y-m-d"time()+7200);

if(
$fechasalida<$fecha_actual) {
echo 
"<p>La fecha de salida ingresada <b><font color='red'>".$fechasalida."</font></b> es anterior a la fecha de hoy <b><font color='red'>".$fecha_actual."</font></b></p>";
echo 
"<p> Por favor <a href='javascript: history.back()' > Regresa </a> y revisa los datos ingresados para poder continuar";
}
elseif (
$fechallegada<$fecha_actual) {
echo 
"la fecha de regreso ingresada <b><font color='red'>".$fechallegada."</font></b> es anterior a la fecha de hoy <b><font color='red'>".$fecha_actual."</font></b></p>";
echo 
"<p> Por favor <a href='javascript: history.back()' > Regresa </a> y revisa los datos ingresados para poder continuar";
 
} else{


$insertar="INSERT INTO viaje (id_viaje,vehiculo,conductor,contratante,origen,destino,fecha_salida,fecha_regreso,objeto,observaciones) values ('$idviaje','$vehiculo','$conductor','$contratante','$origen','$destino','$fechasalida','$fechallegada','$objeto','$observaciones')";
mysql_query($insertar) or die (mysql_error());

echo 
"registro insertado";
echo 
'<a href="pdf.php?placa='.$vehiculo.'&empresa='.$contratante.'&fechasalida='.$fechasalida.'&fecha_regreso='.$fechallegada.'&id='.$idviaje.'">Generar Extracto del Contrato</a></td></tr>';
}

?>
<?php
}
else
{
echo 
"Bienvenido visitante, el sistema no te ha reconocido";
}
?>

<p><a href="logout.php">Salir</a></p>
todo funciona muy bien pero cuando le inserto las dos lineas que mencione en el primer post, los includes o rquiere me sale ese error
__________________
Say no more.......
  #4 (permalink)  
Antiguo 05/01/2009, 15:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Error con include y require

Si ves la FAQ te explica claramente, tienes que eliminar las salidas de texto, esto es echos, prints, espacios, html, etc.

Lee detenidamente la FAQ te dice donde esta el error y como eliminarlo.

Saludos.
  #5 (permalink)  
Antiguo 05/01/2009, 15:35
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Error con include y require

pues ya creo que entendi el error

lo que he identificado es que esta linea es la que me pasa las variables para crear el pdf
Código PHP:
echo '<a href="pdf.php?placa='.$vehiculo.'&empresa='.$contratante.'&fechasalida='.$fechasalida.'&fecha_regreso='.$fechallegada.'&id='.$idviaje.'">Generar Extracto del Contrato</a></td></tr>'
y segun dice la faq no debe haber ni echo, ni print ni codio html alli para poder pasarla al otro script, pero mi pregunta es, como puedo pasar entonces las variables para que se me genere el pdf?
__________________
Say no more.......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:14.