Foros del Web » Programando para Internet » PHP »

Carta de informe

Estas en el tema de Carta de informe en el foro de PHP en Foros del Web. Les cuento, lo que tengo que hacer es una carta de informe, se me ve bien esto, el problema que tengo ahora es la firma, ...
  #1 (permalink)  
Antiguo 09/01/2008, 05:52
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Carta de informe

Les cuento, lo que tengo que hacer es una carta de informe, se me ve bien esto, el problema que tengo ahora es la firma, no logro hacer esto:

que cuando un usuario acepta una inspeccion que al ver la carta aparesca su firma.

miren cuando coloco una firma cualquiera se me ve bien, pero cuando hago el if para que me vea la firma del que inspecciono no me funciona.

les dejo todo el codigo para que me puedan ayudar un poquito.

Código PHP:
<?
//if (strstr($PHP_SELF, "/am_modules/"))  die ("You can't access this file directly...");
if ($id=='') die ("You can't access this file directly...");
if (
$id==' Ingresar') die ("Impresion no disponible");
include_once(
"am_config.php");
include_once(
"am_core/mysql.lib.php");
$conn db_connect($config["host"],$config["database"],$config["user"],$config["password"]) or die( db_error() );
Header("Content-type: image/png");

$con_sql "select * from am_inspeccion where (ins_folio='$id') and (ins_digito LIKE '%".$session["name"]."%')";
    
$ret     db_query($con_sql) or die(db_error());
    
$row     db_fetch_array($ret);
    
$f_folio      $row["ins_folio"];
    
$f_codest     $row["ins_estado"];
    
$f_solicitx   $row["ins_nomemp"];
    
$f_fec_dig    $row["ins_fecing"];
    
$f_fdig_aa    substr($f_fec_dig,0,4);
    
$f_fdig_mm    substr($f_fec_dig,4,2);
    
$f_fdig_dd    substr($f_fec_dig,6,2);
    
$f_contacto   $row["ins_nomcon"];
    
$f_mailcon    $row["ins_mailcon"];
    
$f_foncon     $row["ins_fonocon"];
    
$f_proyecto   $row["ins_proyecto"];
    
$f_valida   $row["ins_valida"];
    
    
$f_inspector      $row["ins_inspec"];

    
$f_inspector  $row["ins_inspec"];
    
$f_autoriza   $row["ins_autor"];
    
$f_observ      $row["ins_observ"];    
    
$f_cod_valida $row["ins_valida"];    
    
    
    
$encargado     $row["ins_digito"];


    
$con_sql "SELECT realname,proyecto,cargo FROM am_users WHERE name = '$encargado'"
    
$ret     db_query($con_sql) or die(db_error());
    
$row=db_fetch_array($ret);
    
$encargado $row["realname"]; 
    
$cargo    =  $row["cargo"];
    

// Rescato los valores del encabezado 
    
$head_sql "SELECT * FROM am_inspant where Proyecto = '$f_proyecto'";
    
$ret      db_query($head_sql) or die(db_error());
    
$row      db_fetch_array($ret);    
    
//$encargado=  $row["Encargado"];
    
$proyecto =  $row["Proyecto"];
    
$mandante  =  $row["Empresa"];


// Rescato los items asociados a la inspeccion.

    
$con_rpi "SELECT * FROM am_rl_equins WHERE rei_folio='$f_folio'"
              
." ORDER BY rei_idx_reg";
    
$ret      db_query($con_rpi) or die(db_error());
    
$num_resp db_num_rows($ret);

    if( 
$num_resp ){
      
$i=0;
          
$f_neto 0;
      while( 
$row=db_fetch_array($ret) ){

        
$ar_idequ[$i]  = $row["rei_idequi"];
        
$f_tipoeq[$i]  = $row["rei_nomequ"];
        
$ar_horpro[$i] = $row["rei_horpro"];
        
$ar_fecpro[$i] = $row["rei_fecpro"];
        
$ar_ubica[$i]  = $row["rei_ubica"];
        
$ar_resolu[$i] = $row["rei_resolu"];
        
$ar_marca[$i]  = $row["rei_marequ"];
        
$ar_modelo[$i] = $row["rei_modequ"];
        
$ar_serie[$i]  = $row["rei_serie"];
        
$ar_nromot[$i] = $row["rei_nro_motor"];
        
$ar_patente[$i]= $row["rei_patente"];
        
$ar_fecins[$i] = $row["rei_fecins"];
        
$ar_inspec[$i] = $row["rei_inspector"];
        
$ar_anio[$i]   = $row["rei_anio"];
        
$ar_observ[$i] = $row["rei_observ"];
        
$ar_destin[$i] = $row["rei_destino"];



        
$i++;
      }
      
$i_max $i;
    }


// Formato para impresion de mes en la fecha
if($f_fdig_mm=='01'$f_fdig_mm='Enero';
if(
$f_fdig_mm=='02'$f_fdig_mm='Febrero';
if(
$f_fdig_mm=='03'$f_fdig_mm='Marzo';
if(
$f_fdig_mm=='04'$f_fdig_mm='Abril';
if(
$f_fdig_mm=='05'$f_fdig_mm='Mayo';
if(
$f_fdig_mm=='06'$f_fdig_mm='Junio';
if(
$f_fdig_mm=='07'$f_fdig_mm='Julio';
if(
$f_fdig_mm=='08'$f_fdig_mm='Agosto';
if(
$f_fdig_mm=='09'$f_fdig_mm='Septiembre';
if(
$f_fdig_mm=='10'$f_fdig_mm='Octubre';
if(
$f_fdig_mm=='11'$f_fdig_mm='Noviembre';
if(
$f_fdig_mm=='12'$f_fdig_mm='Diciembre';




//Inicio Impresion Carta y firma de los lokillos

$im             imagecreatefromPng("baseagua.png"); 
$rdcastillo     imagecreatefromPng("firmas/rdcastillo.png"); 
$pablo.lasnibat imagecreatefromPng("firmas/pablo.lasnibat.png"); 
$jose.arriagada imagecreatefromPng("firmas/jose.arriagada.png"); 
$jose.silva     imagecreatefromPng("firmas/jose.silva.png"); 
$victor.alvarez imagecreatefromPng("firmas/victor.alvarez.png"); 

$black ImageColorAllocate($im000);

/* Encabezado de la carta de entrega de certificados */

$titulo="Referencia: Solicitud de inspección";
$numero ="N° $f_folio";
$lugar="ANTOFAGASTA,";
$fecha="$f_fdig_dd de $f_fdig_mm  $f_fdig_aa ";
$text1="De nuestra consideración:";
$text2="Solicitamos a usted, realizar la inspección de nuestro equipo ";
$text3="de la empresa $f_solicitx.";   //$f_solicitx




ImageString($im5200130$titulo$black);
ImageString($im5310150$numero$black);
ImageString($im2440180$lugar$black);
ImageString($im2380210$cod_valida$black);
ImageString($im2540180$fecha$black);
ImageString($im278200"Señor."$black);
ImageString($im278215"$encargado"$black);
ImageString($im278230"$cargo"$black);
ImageString($im278245"$f_proyecto"$black);
ImageString($im278260"$"$black);
ImageString($im278320$text1$black);
ImageString($im278350$text2$black);
ImageString($im278370$text3$black);

/*   Llenado de la tabla */ 

$t1="N°SOLICITUD";
$t2="N° INFINS";
$t3="EQUIPO";
$t4="MARCA";
$t5="MODELO";
$t5="Id.Equipo";
$t6="EMPRESA";
$t7="RESULTADO";

//Titulos
//ImageString($im, 3,  82, 400, $t1, $black);
ImageLine($im78408570408$black);  
ImageString($im382410$t2$black);
ImageString($im3165410$t3$black);
ImageString($im3300410$t4$black);
ImageString($im3413410$t5$black);
ImageString($im3500410$t7$black);
ImageLine($im78427570427$black);  

$j=0;
// Inicio detalle 18 de separacion por linea
while($i_max>$j)
    {
    
$idx=$j+1;
    
ImageString($im2100428+18*$j$f_folio."-".$idx$black);
    
ImageString($im2165428+18*$j$f_tipoeq[$j], $black);
    
ImageString($im2300428+18*$j$ar_marca[$j], $black);
    
ImageString($im2415428+18*$j$ar_idequ[$j], $black);
    
ImageString($im2500428+18*$j$ar_resolu[$j], $black);

    
ImageLine($im78445+18*$j570445+18*$j$black);      

    
$j++;
    }

    
ImageLine($im7840878445+18*($j-1), $black);      
    
ImageLine($im150408150445+18*($j-1), $black);      
    
ImageLine($im290408290445+18*($j-1), $black);          
    
ImageLine($im407408407445+18*($j-1), $black);          
    
ImageLine($im490408490445+18*($j-1), $black);
    
ImageLine($im570408570445+18*($j-1), $black);      


//Fin detalle



//Pie de la carta

$saludo="Sin otro particular, saluda atentamente a usted.";
$inspector="$f_inspector";
$insp_cargo="INSPECTOR";
$ameco="AMECO CHILE S.A";
$recibido="Recibido Conforme";
$firma="FIRMA-NOMBRE";
$timbre="TIMBRE";


ImageString($im278775$saludo$black);
ImageString($im278850$inspector$black);
ImageString($im278870$insp_cargo$black);
ImageString($im278890$ameco$black);
ImageString($im2410,780$recibido$black);
ImageString($im2410,700$f_valida $black);




//Ver firma de todo usuario

if ($f_inspector == $rdcastillo){
            
$f_firma =imagecreatefromPng("firmas/rdcastillo.png");    
}else{
    if (
$f_inspector == $pablo.lasnibat){
            
$f_firma imagecreatefromPng("firmas/pablo.lasnibat.png");    
    }else{
        if (
$f_inspector == $jose.arriagada){
        
$f_firma imagecreatefromPng("firmas/jose.arriagada.png");    
        }else{
            if (
$f_inspector == $jose.silva){
            
$f_firma imagecreatefromPng("firmas/jose.silva.png");    
                }else{
                    if (
$f_inspector == $victor.alvarez){
                    
$f_firma imagecreatefromPng("firmas/victor.alvarez.png");    
}

imagecopymerge($im,$f_firma,380,650,0,0,260,250,80); 
 

ImageString($im2430,880$firma$black);
ImageString($im2570880$timbre$black);


ImagePng($im);
?>
Gracias por su ayuda

Última edición por hulray; 09/01/2008 a las 06:44
  #2 (permalink)  
Antiguo 09/01/2008, 07:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Carta de informe (solo expertos)

Te intentaría ayudar, pero no soy ningún experto, así que no voy a mirarlo muy a fondo...

Aunque así, bajo la opinión de uno que no es experto, te preguntaría que hay en el campo ins_inspec de la tabla de la BDD y por qué lo comparas con lo que te devuelve la función imagecreatefromPng. Es más, te invitaría a mostrar las variables que estás comparando, para ver cuales son sus valores reales.

Pero vamos, es la opinión de un usuario normalito, sin excesivos conocimientos y sin haber mirado detenidamente el script.
  #3 (permalink)  
Antiguo 09/01/2008, 08:01
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Carta de informe (solo expertos)

que bueno que halla gente discreta. Aun que me da la impresion que te molestaste un poco, te pido disculpas si te molesto el titulo.

ins_inspec esta el nombre de la sesion del inspector que acepto la inspeccion, es decir su nombre. y lo comparo con el de la funcion imagecreatefromPng porque lo deje esa imagen con el mismo nombre de usuario al cual se logea. Me entiendes?


gracias por tu ayuda
  #4 (permalink)  
Antiguo 09/01/2008, 08:22
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Carta de informe (solo expertos)

Si lo que está fallando es el if, muestra los datos que comparas, para ver si realmente son diferentes.

No he mirado mucho el código, pero después del if vuelves a hacer un imagecreate, no lo habías hecho antes ya?

Y podrías hacer un switch en vez de ifs anidados (y siendo ifs puedes usar elseif)
  #5 (permalink)  
Antiguo 09/01/2008, 10:43
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 6 meses
Puntos: 25
Re: Carta de informe (solo expertos)

mi pregunta es por que no establecistes una firma en la DB ? y asi la sacas deacuerdo a cada reporte requerido. y no tienes que estar generando imagenes sino simplemente muestras el texto y al final muestras la imagen sin tener que usar los image/type.. saludos espero que te sirva de ayuda.
  #6 (permalink)  
Antiguo 09/01/2008, 11:56
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
Re: Carta de informe (solo expertos)

Creo lo que te comenta Keysher es lo correcto, si te fijas en el manual de PHP, ImageCreateFromPNG te devuelve un recurso a una imagen (un apuntador) y no puedes comparar un apuntador con una cadena de texto.

Saludos.

PD No pongas titulos como este, ya que evitas que la gente quiera participar, nadie se puede considerar un experto en un tema, ya que siempre hay formas diferentes de hacer las cosas.
  #7 (permalink)  
Antiguo 09/01/2008, 12:20
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Carta de informe

Mis disculpas, y gracias por su ayuda
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 14:43.