Foros del Web » Programando para Internet » PHP »

Acceder al contenido de una variable

Estas en el tema de Acceder al contenido de una variable en el foro de PHP en Foros del Web. Hola, tengo un problema y es que no consigo acceder al valor de una variable dentro de un documento en PDF: <?php define('FPDF_FONTPATH','/font/'); require('../../fpdf.php'); $pdf=new ...
  #1 (permalink)  
Antiguo 16/07/2003, 14:47
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Acceder al contenido de una variable

Hola, tengo un problema y es que no consigo acceder al valor de una variable dentro de un documento en PDF:

<?php
define('FPDF_FONTPATH','/font/');
require('../../fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'NOMBRE:');
$pdf->Cell(60,10,$_POST['NOMBRE']); <--- Acceso a la variable
$pdf->Output();
?>

Eso creo q está bien, puesto que he enviado esa variable y debo poder acceder a ella, pero no sale nada.

En el documento me aparece:


NOMBRE:


Y ya está, pero también me debería aparecer el valor al lado.

Un saludo y espero que alguién vea donde estoy fallando.

GRACIAS.
  #2 (permalink)  
Antiguo 16/07/2003, 14:53
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Antes de generar tu pdfp, prueba imprimeindo el valor de:

Código PHP:
<?php
echo $_POST['NOMBRE'];
// ahi podras darte cuenta si estas tomando la variable como quieres 
?>
Tambien ten en cuenta via que method del formulario estas enviando esa variable, por lo que veo es por el POST. De ser así no deberúa darte problemas.

Saludos
  #3 (permalink)  
Antiguo 16/07/2003, 14:55
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Es POST y ya he comprobado q esa variable contiene el valor correcto pero a la hora de sacarlo en el documento PDF no me muestra el contenido y me lo deja en blanco, no sé lo que puede ocurrir.


Gracias por tu interés.
  #4 (permalink)  
Antiguo 16/07/2003, 15:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Prueba a poner en lugar de ese $_POST un texto, no vaya a ser que estes poniendolo fuera de la pagina. Si ves ese texto, y ya has comprobado que $_POST['NOMBRE'] contiene un texto, ya no se que puede ser. Podrias probar con una variable temporal a al que asignas el valor del $_POST['NOMBRE'] y luego pones esa variable en la funcion.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 16/07/2003, 15:09
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Josemi, si pongo un texto me lo muestra perfectamente. Tal como lo tengo ahora me sale el documento PDF con:

NOMBRE:

Ya que lo que intento es q se muestre la palabra nombre con su valor, pero no soy capaz de que muestre el valor y creo que lo estoy haciendo bien, pero no sé lo que puede ser.

Un saludo y gracias por tu interés.
  #6 (permalink)  
Antiguo 16/07/2003, 15:16
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Si lo dejo asi:

<?php
define('FPDF_FONTPATH','/font/');
require('../../fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'NOMBRE:');
$pdf->Cell(60,10,'hola');
$pdf->Output();
?>

Aparece

NOMBRE: hola

Por tanto fuera de la hoja no lo está poniendo y he probao lo de la variable y tampoco va.

Un saludo y gracias.
  #7 (permalink)  
Antiguo 16/07/2003, 15:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Prueba
<?php
define('FPDF_FONTPATH','/font/');
require('../../fpdf.php');
echo $_POST['NOMBRE'].'<br>';
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'NOMBRE:');
$pdf->Cell(60,10,'hola');
$pdf->Output();
?>
Te tendra que salir el valor de la variable en la pagina web y luego una ristra de caracteres extraños (el codigo del PDF). Si en este caso te lo muestra (en HTML), ya no se que puede ser, porque significa que al codigo si le llega la variable POST. Supongo que este codigo es el action del formulario, ¿verdad? Porque si estas llamando a este codigo por una redireccion (header(location)), los POST no se le pasan.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 16/07/2003, 16:38
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Esto es lo que sale, pero no sale en PDF:

a <-------------------------- EL valor de la variable sale bien

Warning: Cannot add header information - headers already sent by (output started at c:\archivos de programa\easyphp\www\mantenimiento\proveedores\pru eba.php:4) in c:\archivos de programa\easyphp\www\fpdf.php on line 998
FPDF error: Some data has already been output to browser, can't send PDF file


Gracias por tu interés.

Un saludo.
  #9 (permalink)  
Antiguo 16/07/2003, 17:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Pues ahora te tendria que funcionar quitando el echo y poniendo el $_POST en la funcion, que es lo que tenias antes que no te funcionaba. Y a no ser que esta sea de estas ocasiones en que ahora te funcione el mismo codigo que antes no te funcionaba, seguira sin funcionar. Y la cuestion es que no es culpa del codigo (a mi entender). Lo que yo hago en estos casos: apago el ordenador, cambio de ambiente unos 5 minutos, vuelvo a encender el ordenador y lo vuelvo a probar. Puede que el problema no este solucionado, pero al menos estoy mas despejado.

Saludos.

PD: Ya puestos a hacer pruebas estupidas, podrias hacer un

$var='hola holita';

y pasar esa variable a la funcion.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 16/07/2003, 17:13
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Con código asi:

<?php
define('FPDF_FONTPATH','/font/');
require('../../fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'NOMBRE:');
$var='hola holita';
$pdf->Cell(60,10,$var);
$pdf->Output();
?>

sale por pantalla:


NOMBRE: hola holita

Por tanto se deduce que por lo que sea, el $_POST['NOMBRE'] no lo entiende.

Gracias por aportar otra idea.
  #11 (permalink)  
Antiguo 17/07/2003, 11:31
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Se acabo el problema ya lo he resuelto.

Un saludo.
  #12 (permalink)  
Antiguo 17/07/2003, 11:42
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Con alguna sugerencia que se te dió?.

Saludos.
  #13 (permalink)  
Antiguo 17/07/2003, 11:47
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
El problema está en que en el IE 5.50 el envio de variables por el método POST da problemas para acceder a su contenido y por eso no lo mostraba, cosa que no ocurre si se envia por el método GET y de esta manera fue como lo resolví. Enviando los datos al documento mediante este método y accediendo a ellos asi:


$_GET['variable'];


De esta manera queda resuelto mi problema.

Saludos y gracias por el interés que mostrasteis por mi problema.
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 08:27.