no puedo almacenar imagenes y texto en php

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
davidxmx
Forista Mayor
Forista Mayor
Mensajes: 743
Registrado: Mar Feb 13, 2007 8:00 am
Ubicación: México

no puedo almacenar imagenes y texto en php

Mensaje por davidxmx » Lun Abr 19, 2010 9:21 pm

hola a todos.

tengo el siguiente problema, resulta que tengo un formulario el cual permite insetar una imagen en una base de datos de sql, la cuestion es que si solo agrego la foto si sube el archivo. para complementar ese formulario agregue mas campos de tipo varchar en la base y en el formulario pero el problema es que no sube ni la imagen ni los datos.

este es mi formulario.

Código: Seleccionar todo

<HTML>
<HEAD>
<TITLE>Formulario Area de Colecciones</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
<table width="646" height="182" align="center">
<tr>
<td>
	<p align="center">
        <font color="#000033" face="Courier New, Courier, monospace" size="+1">
        <b>Datos Generales.</b>
        </font>
        <br><br><br></p>
	</td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Archivo:</b></td>&nbsp;
	<td><INPUT type="file" name="archivo" size="35"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Nº De Registro:</b></td>&nbsp;
	<td><input type="text" name="fregistro" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Bodega:</b></td>&nbsp;
	<td><input type="text" name="fbodega" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Nº De Pieza:</b></td>&nbsp;
	<td><input type="text" name="fpieza" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Unidad Museografica:</b></td>&nbsp;
	<td><input type="text" name="funidad" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Objeto:</b></td>&nbsp;
	<td><input type="text" name="fobjeto" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Uso:</b></td>&nbsp;
	<td><input type="text" name="fuso" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Cedulas y Pies de Objeto:</b></td>&nbsp;
	<td><input type="text" name="fcpo" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Folleto:</b></td>&nbsp;
	<td><input type="text" name="ffolleto" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Cartel:</b></td>&nbsp;
	<td><input type="text" name="fcartel" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Datos de Procedencia:</b></td>&nbsp;
	<td><input type="text" name="fprocedencia" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Pueblo:</b></td>&nbsp;
	<td><input type="text" name="fpueblo" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Nombre del Artesano:</b></td>&nbsp;
	<td><input type="text" name="fartesano" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Edad:</b></td>&nbsp;
	<td><input type="text" name="fedad" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Domicilio del Artesano:</b></td>&nbsp;
	<td><input type="text" name="fdomicilio" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Participacion y Premios de Concurso:</b></td>&nbsp;
	<td><input type="text" name="fppc" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td>
	<br>
        <p align="center">
        <font color="#000033" face="Courier New, Courier, monospace" size="+1">
        <b>Datos Del Objeto.</b>
        </font>
        <br><br><br></p>
	</td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Rama Artesano:</b></td>&nbsp;
	<td><input type="text" name="frama" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Materiales:</b></td>&nbsp;
	<td><input type="text" name="fmateriales" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Medidas:</b></td>&nbsp;
	<td><input type="text" name="fmedidas" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Descripcion:</b></td>&nbsp;
	<td><input type="text" name="fdescripcion" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Estado de Conservacion:</b></td>&nbsp;
	<td><input type="text" name="festado" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Adquisicion:</b></td>&nbsp;
	<td><input type="text" name="fadquisicion" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Precio:</b></td>&nbsp;
	<td><input type="text" name="fprecio" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Precio Actual:</b></td>&nbsp;
	<td><input type="text" name="fprecioa" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Avaluo:</b></td>&nbsp;
	<td><input type="text" name="favaluo" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Fecha:</b></td>&nbsp;
	<td><input type="text" name="ffecha" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Fecha Actual:</b></td>&nbsp;
	<td><input type="text" name="ffechaa" size="35" maxlength="255"></td>
	</tr>
	<tr>
	<td bgcolor="#66CCFF"><b>Observaciones:</b></td>&nbsp;
	<td><input type="text" name="fobservaciones" size="35" maxlength="255"></td>
	</tr>	
	<TR>
	<td>&nbsp;</td>
	</TR>
	<tr >
	<td align="right"><input type="reset" name="Borrar" value="Borrar"></td>
        <td><INPUT type="submit" name="submit" value="Guardar"></td>
	</tr>
	</table>
	
	</FORM>
	</BODY>
</HTML>
y este es el archivo de agregar

Código: Seleccionar todo

<?php
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); 
exit;
}
//conexion
$conexion = mysql_connect("localhost","david","brunofrida") or
       die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("colecciones",$conexion) or
       die("No se puede seleccionar la Base de datos"); 
// archivo temporal
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;
$binario_contenido = addslashes(fread(
           fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];
//agregamos
$consulta_insertar = "insert into archivos
           (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES
           ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or
           die("No se pudo insertar los datos en la base de datos.");
$consulta_insertar = "insert into archivos
           (registro, bodega, pieza, unidad, objeto, uso, cpo,
            folleto, cartel, procecencia, pueblo, artesano, edad,
            domicilio, ppc, rama, materiales, medidas, descripcion,
            estado, adquisicion, precio, precioa,
            avaluo, fecha, fechaa, observaciones)
      values('$fregistro','$fbodega','$fpieza','$funidad','$fobjeto','$fuso','$fcpo',
           '$ffolleto','$fcartel','$fprocedencia','$fpueblo','$fartesano','$fedad',
           '$fdomicilio','$fppc','$frama','$fmateriales','$fmedidas','$fdescripcion',
           '$festado','$fadquisicion','$fprecio','$fprecioa',
           '$favaluo','$ffecha','$ffechaa','$fobservaciones')";
mysql_query($consulta_insertar,$conexion) or
        die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php");  
exit;
?> 
la cuestion es que si quito la parte para agregar los demas datos de texto sube bien la imagen y si los pongo marca un error.


espero que me ayuden en algo.

saludos.
Última edición por akodo el Lun Abr 19, 2010 11:23 pm, editado 1 vez en total.
Razón: la lectura del código es complicada al tener scroll horizontal
| Portatil | | Ubuntu 8.04 |
| Ubuntu User # 14994 | | Linux User # 448567 |
| "Un Windows Vive y Muere Cuando Sale Un Service Pack" |
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: no puedo almacenar imagenes y texto en php

Mensaje por mcun » Lun Abr 19, 2010 11:01 pm

mira para poder subir una imagen debes usar la propiedad type="file"


Código: Seleccionar todo

<td>IMAGEN</td>	

			<td><input 

			           class="N/T" 

			           type="file" 

			           name="IMG"  

			           id="IDimg"  

			           size="40" 

			           title="selecione la ruta donde se encuentra la imagen" 

					   Onfocus="cambiaColorI(this,'to')"></td>

		</tr> 
luego todo lo demas ;)
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
davidxmx
Forista Mayor
Forista Mayor
Mensajes: 743
Registrado: Mar Feb 13, 2007 8:00 am
Ubicación: México

Re: no puedo almacenar imagenes y texto en php

Mensaje por davidxmx » Mié Abr 21, 2010 7:18 pm

gracias ya por la ayuda.

la cuestion es que si yo quito la parte de agregar los otros datos y solo dejo la imagen,el script si sube y almacena bien.
| Portatil | | Ubuntu 8.04 |
| Ubuntu User # 14994 | | Linux User # 448567 |
| "Un Windows Vive y Muere Cuando Sale Un Service Pack" |
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: no puedo almacenar imagenes y texto en php

Mensaje por mcun » Mié Abr 21, 2010 7:46 pm

davidxmx escribió:gracias ya por la ayuda.

la cuestion es que si yo quito la parte de agregar los otros datos y solo dejo la imagen,el script si sube y almacena bien.
yo no digo que quites nada digo que la sintaxis en php para poder subir imagenes en una BD independientemente que si es un enlace a la imagen o la imagen misma es el code que te pase.

Osea en tu code en el campo que sea para subir imágenes debes colocarlo como te indique lo demás no importa puede estar o no

salu2
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje