Problema con iframe

Iniciado por Feedeex, 29 Agosto 2011, 22:54 PM

0 Miembros y 1 Visitante están viendo este tema.

Feedeex

Hola a todos. Tengo un iframe en el cual muestro una imágen y una breve descripcion almacenadas en una base de datos (debo usar un iframe porque sino no puedo utilizar  el header() para indicar que tipo de archivo es).

Uso el iframe así:

<iframe src="ver_upload.php?id=<?php echo $id?>" width="600" height="500">Error al cargar los datos</iframe>

y al cargar la página me muestra el iframe en blanco, pero además me descarga la página ver_upload.php, ¿por qué pasa eso? :huh:

Muchas gracias.

Shell Root

y que se supone que contiene el archivo ver_upload.php.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Feedeex

#2
Creí que se había solucionado, pero no. Esto está muy loco. Si uso por ejemplo "id=1" me quiere descargar ver_upload.php, pero si uso "id=5" me dice:

CitarNo se puede mostrar la imágen [...] porque contiene errores

Les dejo tanto el archivo que utilizo para subir imágenes, como el que uso para mostrarlas:

proceso.php (sube imágen)

<?php
include ('conexion.php');
 if(isset(
$_POST['crear_articulo'])) {
    
$tipo_imagen explode('image/'$_FILES['imagen']['type']);
$x $tipo_imagen[1];
 if($x == 'gif' || $x == 'jpg' || $x == 'jpeg') {
    if($x == 'gif') {
 $image imagecreatefromgif($_FILES['imagen']['tmp_name']);
         
ob_start();
         
imagegif($image);
         
$_output ob_get_contents();
         
ob_end_clean();
} else {
 $image imagecreatefromjpeg($_FILES['imagen']['tmp_name']);
         
ob_start();
         
imagejpeg($image);
         
$_output ob_get_contents();
         
ob_end_clean();
}
 $tipo 'Bombilla';
 $out str_replace('##','##',mysql_escape_string($_output));
     
$result mysql_query("INSERT INTO articulos (imagen, tipo, tipo_imagen) VALUES ('$out', '$tipo', '$x')"$conexion) or
  die('Error al guardar informacion en la base de datos: '.mysql_error());
 
 $ID mysql_query("SELECT id FROM articulos WHERE imagen='$out'"$conexion) or
  die('Error al seleccionar el ID: '.mysql_error());
 $getID mysql_fetch_assoc($ID);
 $getID $getID['id'];
  echo "<script Language='javascript'>location.href = 'index.php?accion=ver_upload&id=$getID';</script>";
 } else {
    die('Extension de archivo invalida');
    }
} else {
  die('No puede acceder a esta pagina manualmente');
}
?>



ver_upload.php (muestra la imágen indicada por "id=")

<?php
include('conexion.php');
if(isset(
$_GET['id'])) {
 
$id trim($_GET['id']);
 
header('Content-Type: image/'.$tipo_imagen);
 
$consulta mysql_query("SELECT * FROM articulos WHERE id='$id'"$conexion) or
    die(
'Error al consultar con la base de datos: '.mysql_error());
if(mysql_num_rows($consulta) == 0) {
    echo 
'El ID indicado no es valido';
 } else {
  while(
$row mysql_fetch_array($consulta)) {
    
$tipo $row['tipo'];
$imagen $row['imagen'];
$tipo_imagen $row['tipo_imagen'];
}
 if($tipo_imagen == 'jpg' || $tipo_imagen == 'jpeg') {
    $tipo_imagen 'jpeg';
 } else {
   $tipo_imagen 'gif';
  }
header('Content-Type: image/'.$tipo_imagen);
echo "<b>Tipo de articulo</b>: ".$tipo."<br>";
echo "<b>Imagen</b>:<br>";
print $imagen;
 }
 } else {
  echo 
'No se ha indicado el ID';
  }
?>