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';
  }
?>