Foros del Web » Programando para Internet » PHP »

Problema con MVC

Estas en el tema de Problema con MVC en el foro de PHP en Foros del Web. Llevo días y días intentando sacar algo en claro y lo único que consigo es hacerme más lios en la cabeza... Os explico, tengo una ...
  #1 (permalink)  
Antiguo 18/05/2011, 11:45
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 2
Problema con MVC

Llevo días y días intentando sacar algo en claro y lo único que consigo es hacerme más lios en la cabeza...

Os explico, tengo una base de datos en mysql la cual ataco con HTML y PHP con modelo vista controlador (MVC).

La cuestión es que ahora me encuentro con que tengo un campo de la base de datos, que es un mediumblob (en mi caso para almacenar imágenes jpg) y según tengo entendido, para recuperar un blob necesitamos modificar el header para poder visualizar la imagen.

El problema viene a que no puedo modificar el header, ya que me tira el siguiente error:

Cannot modify header information - headers already sent by (ruta de la web)

Alguna idea de por donde pueden ir los tiros?


Os dejo el bloque de extraccion del blob, por si os sirve de ayuda para ayudarme xD (que raro suena)




<?php

$username = "root";
$password = "12345aA";
$host = "localhost";
$database = "fincas_llorens";

mysql_connect($host, $username, $password) or die("Can not connect to database: ".mysql_error());

mysql_select_db($database) or die("Can not select the database: ".mysql_error());

$query = mysql_query("SELECT * FROM fotos WHERE id_foto='8'");
$row = mysql_fetch_array($query);
$content = $row['ruta'];

header('Content-type: image/jpg');
echo $content;


?>
  #2 (permalink)  
Antiguo 18/05/2011, 11:51
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problema con MVC

Cannot modify header information - headers already sent by (ruta de la web)

Eso me ha ocurrido cuando trato de modificar el header y he hecho includes o requires
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 18/05/2011, 11:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Problema con MVC

Cita:
Iniciado por lobo_php Ver Mensaje
Cannot modify header information - headers already sent by (ruta de la web)

Eso me ha ocurrido cuando trato de modificar el header y he hecho includes o requires

No entiendo que me quieres decir, hacer un include del header? Donde tendría que hacerlo?

Perdona por mi desconocimiento, pero me estoy iniciando en el MVC y ando un poco perdido... Gracias de todas maneras lobo, espero que puedas explicarme más detalladamente el proceso.
  #4 (permalink)  
Antiguo 18/05/2011, 12:02
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: Problema con MVC

es decir, cuando haces un include o un require antes de modificar el header, lo que he hecho es con html redireccionar con un <meta>
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #5 (permalink)  
Antiguo 18/05/2011, 12:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Problema con MVC

Cita:
Iniciado por lobo_php Ver Mensaje
es decir, cuando haces un include o un require antes de modificar el header, lo que he hecho es con html redireccionar con un <meta>

Tienes algún ejemplo para ilustrarme? No llego a entender bien lo que me quieres decir, aún necesito mucha practica...
  #6 (permalink)  
Antiguo 18/05/2011, 12:16
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
Respuesta: Problema con MVC

agrega en el codigo de arriba el ob_start();

<?php
ob_start();
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #7 (permalink)  
Antiguo 18/05/2011, 15:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Problema con MVC

Cita:
Iniciado por xalupeao Ver Mensaje
agrega en el codigo de arriba el ob_start();

<?php
ob_start();

No me funcionó, gracias de todas maneras ^_^

Os explico un poco mejor el tema a ver si alguien me ilumina porque el problema me está durando mucho y no llego solucionarlo.

Estoy programando PHP con (modelo, vista, controlador http://www.jourmoly.com.ar/introduccion-a-mvc-con-php-primera-parte ). La cuestión es que el bloque que comentaba en el primer mensaje (mostrar una imagen de un campo blob en una base de datos MYSQL), lo tengo implementado en el lenguaje mvc, pero cuando intento modificar el header, con la siguiente instrucción
Código PHP:
Header("Content-type:image/jpg"); 
Me da el siguiente error:


Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\FinquesLlorens2\index.php:73) in C:\xampp\htdocs\FinquesLlorens2\old_fl\componentes \content\view.php on line 26)


Lo raro es que en la linea 73 donde supuestamente se envia el 'header', lo único que tengo es lo siguiente:
Código PHP:
<?php
... y si le elimino la linea del header lo único que consigo es una array de bits enorme, pero no visualizar la imagen.

Gracias de verdad por vuestra ayuda !!!

Última edición por SiKuSS; 18/05/2011 a las 15:40
  #8 (permalink)  
Antiguo 18/05/2011, 18:13
Avatar de camsworksinc  
Fecha de Ingreso: julio-2008
Ubicación: Queretaro
Mensajes: 261
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Problema con MVC

Ese mensaje aparece cuando se envia cualquier cosa ANTES que los headers, pudiendo ser incluso un simple caracter como un espacio o un retorno de carro.
En tu codigo asegurate que no haya NADA antes del tag de PHP (<?php) al inicio del archivo.

Suerte!
__________________
¡Malditas computadoras que siempre hacen lo que les DIGO que hagan, no lo que QUIERO que hagan!
  #9 (permalink)  
Antiguo 20/05/2011, 12:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Problema con MVC

Cita:
Iniciado por camsworksinc Ver Mensaje
Ese mensaje aparece cuando se envia cualquier cosa ANTES que los headers, pudiendo ser incluso un simple caracter como un espacio o un retorno de carro.
En tu codigo asegurate que no haya NADA antes del tag de PHP (<?php) al inicio del archivo.

Suerte!

Es que es el index.php y hay un bloque HTML al principio, ya que es donde hago la llamada a todos los scripts/css/etc.

Por lo visto es un tema muy poco comentado, ya que no encuentro absolutamente nada de información sobre el tema blob orientado a mvc...

Gracias de todas maneras camworksinc ;)
  #10 (permalink)  
Antiguo 20/05/2011, 15:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con MVC

Una pregunta, estas tratando de mostrar la imagen junto con el html?

El problema de guardar imagenes en la base de datos es que tienes que crear un script exclusivo para mostrarlas, de manera que tu etiqueta queda mas o menos asi:

<img src="script_para_mostrar_imagenes.php?id=12345" />

Este script solo debe enviar el encabezado y la imagen... nada mas.
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 20/05/2011, 15:58
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 14 años, 5 meses
Puntos: 9
Respuesta: Problema con MVC

CONSEJO: no guardes imagenes en la BD, guarda ubicaciones saludos
  #12 (permalink)  
Antiguo 20/05/2011, 20:11
 
Fecha de Ingreso: diciembre-2004
Mensajes: 272
Antigüedad: 19 años, 11 meses
Puntos: 4
Respuesta: Problema con MVC

Hola:


Mega error fatal:

Cita:
Es que es el index.php y hay un bloque HTML al principio, ya que es donde hago la llamada a todos los scripts/css/etc.
como te mencionaron antes, no puedes imprimir NADA antes de llamar al header, es por eso que te marca el error que mencionas.


Como dice Triby, tendras que utilizar un script exclusivo para mostrar la imagen.


Saludos!

Etiquetas: mvc
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 18:22.