Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema con input file

Estas en el tema de problema con input file en el foro de PHP en Foros del Web. tengo un problemilla resulta que mis categorias son subidas con imagenes, hasta ahí todo bien, pero cuando en la pagina lo pongo editar y voy ...
  #1 (permalink)  
Antiguo 22/03/2013, 08:36
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
problema con input file

tengo un problemilla

resulta que mis categorias son subidas con imagenes, hasta ahí todo bien, pero cuando en la pagina lo pongo editar y voy a edita-categoria.php

no logro como cargar el valor en la caja de texto del input file

Código PHP:
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Categoria</FONT> </td><td> <input type="text" name="categoria" value="<?=$nom;?>" size="30"></input></td>
</tr>
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Imagen (200px X 200px)</FONT> </td><td> <input type="file" name="archivo" value="<?=$img;?>" id="archivo" /></input>
</tr>

si se fijan hay dos valores, el de categoria lo toma perfectamente, pero el de input file no me carga de esa forma...quiero que el input file muestre la imagen actual y permita cambiarla si el usuario escoje otra...no se si me entienden...

los valores de $nom y $img son obtenidos de una consulta a una base de datos de mysql

ayudaaaaa!!! plis
  #2 (permalink)  
Antiguo 22/03/2013, 08:41
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: problema con input file

en ese caso existe

$_FILES["archivo"] y no $_POST o GET["archivos"]
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 22/03/2013, 08:46
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: problema con input file

Cita:
Iniciado por gusanosxr Ver Mensaje
tengo un problemilla

resulta que mis categorias son subidas con imagenes, hasta ahí todo bien, pero cuando en la pagina lo pongo editar y voy a edita-categoria.php

no logro como cargar el valor en la caja de texto del input file

Código PHP:
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Categoria</FONT> </td><td> <input type="text" name="categoria" value="<?=$nom;?>" size="30"></input></td>
</tr>
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Imagen (200px X 200px)</FONT> </td><td> <input type="file" name="archivo" value="<?=$img;?>" id="archivo" /></input>
</tr>

si se fijan hay dos valores, el de categoria lo toma perfectamente, pero el de input file no me carga de esa forma...quiero que el input file muestre la imagen actual y permita cambiarla si el usuario escoje otra...no se si me entienden...

los valores de $nom y $img son obtenidos de una consulta a una base de datos de mysql

ayudaaaaa!!! plis
Del modo que lo planteas no podrás hacerlo, opciones:

- cargar la imagen en un tag <img> y el input file
- cargar un input text y el input file

No hay manera de relacionar el input file con un valor que viene de la base y perdió por completo el path del cliente.

Saludos
  #4 (permalink)  
Antiguo 22/03/2013, 08:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema con input file

El valor $img en la base de datos que tipo tiene?

Si es un string con el path al fichero de la imagen ... luego lo que tienes que hacer es mostrar la imagen como una imagen en el html y poner un input type file vacío debajo o al lado para hacer los cambios.

Código HTML:
Ver original
  1. <td>
  2.    <img src="<?=$img;?>" /><br />
  3.    <FONT FACE="arial" SIZE=2 COLOR=Black>
  4.           Imagen (200px X 200px)
  5.     </FONT>
  6. </td>
  7. <td>
  8.     <input type="file" name="archivo" value="" id="archivo" />
  9. </td>

(Ojo con esas etiquetas FONT és algo muy anticuado... usa css!!!!)

Si es un tipo binario, es un error de diseño, es mejor guardar el path al fichero en un string no el propio fichero dentro de la bbdd. La solución para mi seria la misma pero no se orientarte de como recuperas esa imagen de dentro de la bbdd y la muestras.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 22/03/2013 a las 08:52
  #5 (permalink)  
Antiguo 22/03/2013, 08:51
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: problema con input file

ahhh.. y algo como esto:

Código PHP:
<tr>
     <td bgcolor="#FFFFFF">Imagen Actual:</td>
     <td bgcolor="#FFFFFF"><div>
       <?php
        
if(!empty($row["img"]))
        {
        
?>
       <img src="http://www.forosdelweb.com/img/<?php echo $row["img"]; ?>" alt="<?php echo $row["titulo"]; ?>" width="90px" />
       <?php
        
}else{
            echo 
"<p>En este momento, no ha puesto ninguna imagen</p>";
        }
            
?>
     </div></td>
   </tr>
   <tr>
     <td bgcolor="#FFFFFF">Seleccionar Nueva:</td>
     <td bgcolor="#FFFFFF"><input name="fileCont" type="file" size="36"/></td>
   </tr>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #6 (permalink)  
Antiguo 22/03/2013, 08:52
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: problema con input file

Cita:
Iniciado por loncho_rojas Ver Mensaje
en ese caso existe

$_FILES["archivo"] y no $_POST o GET["archivos"]
compa le pego todo el archivo para que mires que asi no me funciona

Código PHP:


<?
session_start
();
if (
$_SESSION['numuser']==""){
header("Location:index.html");
}
?>
<!DOCTYPE HTML>
<head>    
    <title>Menú Principal</title>
       <style type="text/css">
table {
  border-collapse: collapse;
  border: 0px solid #4F81BD;
  font: normal 11px verdana, arial, helvetica, sans-serif;
  color: #000000;
  background: #FFFFFF;
  }
.boton {
    border: 0px solid;
    background-image:url('imagenes/edita.jpg'); 
    width:110px; 
    height:35px;     
}  
td, th {
  border: 0px solid #4F81BD;
  padding: .5em;
  color: #000000;
  }
.odd {
  background: #DBE5F1;
  }
</style>
<script type="text/javascript">
function guardar(objeto){    
if (document.form1.categoria.value==''){
          alert("Debe ingresar categoria")
        form1.categoria.focus()
       return false
    }
if (document.form1.archivo.value==''){
          alert("Debe asociar imagen")
        form1.archivo.focus()
       return false
    }
}
</script>
</head>

<div STYLE="position:absolute; top:0px; left:140px;">
<body onload = "document.form1.categoria.focus()">
<table border="0" width="600">
<tr>
<td><img src="imagenes/logo.jpg" width="300" height="150" /></td>
<td> 
  <img src="imagenes/principio2.jpg" width="611" height="41" /></td>
</tr>
</table>
</div>
<div STYLE="position:absolute; top:200px; left:140px;">
<body onload = "document.form1.nombre.focus()">
<table border="0" width="400" height="300">
<tr>
<td><a href="administrador.php"><img src="imagenes/botonadmin.jpg" width="134" height="31" /></a></td>
</tr>
<tr>
<td><a href="acceso-restringido.php"><img src="imagenes/botonaccesos.jpg" width="134" height="31" /></a></td>
</tr>
<tr>
<td><a href="categorias.php"><img src="imagenes/botoncategoria.jpg" width="134" height="31" /></a></td>
</tr>
<tr>
<td><a href="productos.php"><img src="imagenes/botonproductos.jpg" width="134" height="31" /></a></td>
</tr>
<tr>
<td><a href="index.html"><img src="imagenes/botonweb.jpg" width="134" height="31" /></a></td>
</tr>
<tr>
<td><a href="logout.php"><img src="imagenes/botoncierra.jpg" width="134" height="31" /></a></td>
</tr>
</table>

</div>

<div STYLE="position:absolute; top:0px; left:140px;">
<table border="0" width="600">
<tr>
<td><img src="imagenes/logo.jpg" width="300" height="150" /></td>
<td> 
  <img src="imagenes/principio2.jpg" width="611" height="41" /></td>
</tr>
</table>
</div>
<?php
include "conectar.php";
$result mysql_query("SELECT * FROM categorias WHERE categoriaID=".$_GET["var"]);
if (
mysql_num_rows($result)>0){
   
$nommysql_result($result0"nombre");
   
$imgmysql_result($result0"imagen");         
   }
?>
<form name="form1" method="POST" action="guarda-edita-categoria.php" enctype="multipart/form-data" onsubmit="return guardar(this)">
<div style="position:absolute; top:200px; left:440px;">
<table border="0" width="600" height="100">
<input type="hidden" name="IDcat" value="<?=$_GET["var"];?>" />
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Categoria</FONT> </td><td> <input type="text" name="categoria" value="<?=$nom;?>" size="30"></input></td>
</tr>
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Imagen (200px X 200px)</FONT> </td><td> <input type="file" name="archivo" id="archivo" /></input>
</tr>
<tr>
<td><FONT FACE="arial" SIZE=2 COLOR=Black>Imagen actual</FONT>
<?echo
(
"<td><a href=ver-imagen.php?var=".mysql_result($result$i"categoriaID")." target=popup onclick=window.open(this.ref, this.target)>
<image src=images/"
.mysql_result($result,$i,"imagen")." width=40 heigth=30 title=Ver-Imagen></a></td>");
?></td>
</tr>
<tr>
<td></td><td><input type="submit" value="" class="boton"></input></td>
</tr>
</table>
</div>
</form>
<div STYLE="position:absolute; top:370px; left:440px;">
<table border="0" width="600" height="100">
<tr>
<td></td>
<td><img src="imagenes/principio4.jpg" width="611" height="31" /></td>
</tr>
</table>
<?php

echo("<table border=1 width=600>");
echo(
"<tr>");
      echo(
"  <td>Nombre</td>");
      echo(
"  <td>Imagen</td>");
      echo(
"  <td>Editar</td>");
      echo(
"  <td>Eliminar</td>");            
      echo(
"</tr>");
include 
"conectar.php";
$consulta "SELECT * FROM categorias WHERE vigente='S'";
$result mysql_query($consulta);
if (@
mysql_num_rows($result)>0){
   
$i=0;
   
$rows=mysql_num_rows($result);
   while(
$i $rows) {
    echo(
"<tr>");
    echo(
"<td>".mysql_result($result$i"nombre")."</td>");   
    echo(
"<td><image src=images/".mysql_result($result$i"imagen")." width=35 heigth=35></td>");    
    echo(
"<td><a href=edita-categoria.php?var=".mysql_result($result$i"categoriaID")."><image src=imagenes/lapiz.gif width=20 heigth=20 title=Editar></a></td>");
     echo(
"<td><a href=elimina-categoria.php?var=".mysql_result($result$i"categoriaID")."><image src=imagenes/eliminar.gif width=20 heigth=20 title=Eliminar></a></td>");     
    echo(
"</tr>");
   
$i++;
   }
}
?>
</table>
</div>
</body>
</html>
  #7 (permalink)  
Antiguo 22/03/2013, 09:24
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago de Chile
Mensajes: 164
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: problema con input file

amig@s los solucione guardando la imagen en un input hidden

asi al guardar solo condicionaba

si el input file venia vacion, me tomaba el valor del input hidden, que es la imagen que ya existe, pero si el input file no viene vacio, me toma el valor del input file...

:)


saludos y gracias!!!

Etiquetas: file, input, mysql
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 22:53.