Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Feedeex en 29 Agosto 2011, 22:54 PM

Título: Problema con iframe
Publicado por: Feedeex en 29 Agosto 2011, 22:54 PM
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.
Título: Re: Problema con iframe
Publicado por: Shell Root en 29 Agosto 2011, 23:06 PM
y que se supone que contiene el archivo ver_upload.php.
Título: Re: Problema con iframe
Publicado por: Feedeex en 29 Agosto 2011, 23:30 PM
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';
  }
?>