Foros del Web » Programando para Internet » PHP »

ayuda con formulario para subir datos e imagenes a la BD para luego mostrarlos

Estas en el tema de ayuda con formulario para subir datos e imagenes a la BD para luego mostrarlos en el foro de PHP en Foros del Web. hola a todos, expongo mis dudas a este gran foro al cual acceden los mejores webmasters. el tema es k estoy haciendo una pagina de ...
  #1 (permalink)  
Antiguo 09/09/2009, 12:20
 
Fecha de Ingreso: febrero-2009
Ubicación: Milan
Mensajes: 53
Antigüedad: 15 años, 9 meses
Puntos: 0
ayuda con formulario para subir datos e imagenes a la BD para luego mostrarlos

hola a todos, expongo mis dudas a este gran foro al cual acceden los mejores webmasters.

el tema es k estoy haciendo una pagina de anuncios, he creado un formulario para subir los datos del anuncio pero tambien tendria necesidad de subir imagenes k despues en un pagina detalles se mostrara toda esta informacion.

el problema es ke no se como hacerlos, he construido dos formularios en una sola pagina uno para los datos y el otro para las imagenes.

el codigo del primer formulario es el siguiente:

<form action="<?php echo $editFormAction; ?>" enctype="multipart/form-data" method="post" name="form1" class="modullo" id="form1" onsubmit="MM_validateForm('titulo','','R','data_pu bblicazione','','R','prezzo','','NisNum','email',' ','RisEmail','telefono','','NisNum','citta','','R' ,'descripcion','','R');return document.MM_returnValue">
<p>&nbsp;</p>
<table width="447" height="455" align="center" cellspacing="5">
<tr valign="baseline">
<td width="138" align="right" valign="middle" nowrap="nowrap">Categoria:</td>
<td colspan="2"><select name="codcategoria" title="Scegliere la categoria" class="select">
<?php do { ?>
<option value="<?php echo $row_rsmostracategoria['codcategoria']?>" ><?php echo $row_rsmostracategoria['nom_categoria']?></option>
<?php
} while ($row_rsmostracategoria = mysql_fetch_assoc($rsmostracategoria));
?>
</select> </td>
</tr>

<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">Titulo:</td>
<td colspan="2"><input name="titulo" type="text" class="inputform" id="titulo" value="" size="40" maxlength="50" /></td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">Citta:</td>
<td colspan="2"><select name="cod_citta" class="select" id="cod_citta" title="Inserire la Citta">
<?php do { ?>
<option value="<?php echo $row_rsmostracitta['cod_citta']?>"><?php echo $row_rsmostracitta['nome_citta']?></option>
<?php
} while ($row_rsmostracitta = mysql_fetch_assoc($rsmostracitta));
?>
</select> </td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">Data Pubblicazione:</td>
<td colspan="2"><!--<input type="text" name="data_pubblicazione" value="" size="32" />-->
<label for="data_pubblicazione">
<input class="fecha post" type="text" id="data_pubblicazione" name="data_pubblicazione" value="" />
</label> </td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">Prezzo:</td>
<td colspan="2"><input name="prezzo" type="text" class="inputform" id="prezzo" value="" size="8" maxlength="8" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right" valign="middle">Testo:</td>
<td colspan="2"><textarea name="descripcion" cols="40" rows="5" class="inputform" id="descripcion"></textarea> </td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">La tua E-mail:</td>
<td colspan="2"><input name="email" type="text" class="inputform" id="email" value="" size="32" maxlength="50" /></td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">Telefono:</td>
<td colspan="2"><input name="telefono" type="text" class="inputform" id="telefono" value="" size="20" /></td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">Zona/Quartiere:</td>
<td colspan="2"><input name="citta" type="text" class="inputform" id="citta" value="" size="18" maxlength="15" /></td>
</tr>
<tr valign="baseline">
<td height="43" align="right" valign="middle" nowrap="nowrap">CAP:</td>
<td colspan="2"><input name="cap" type="text" class="inputform" value="" size="8" maxlength="8" /></td>
</tr>

<tr valign="baseline">
<td align="right" valign="middle" nowrap="nowrap">&nbsp;</td>
<td width="130"><input name="button" class="pubblica" type="submit" id="button" value="Pubblica Annuncio" /></td>
<td width="151"><input type="reset" name="button" class="ripristina" id="button" value="Ripristina" /></td>
</tr>
</table>
<p>
<input type="hidden" name="MM_insert" value="form1" /></p>
</form>

el codigo del segundo formulario es :

<form action="add.php" method="POST" enctype="multipart/form-data" class="modullo">
<table width="441" border="0" align="center">
<tr>
<td width="179">Photo in formato:*. JPG</td>
<td width="252"> <input name="photo" type="file" class="inputform"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" class="pubblica" value="Caricare Immagine"></td>
</tr>
</table>
<p>&nbsp;</p>
</form>

apenas stoy comenzando con php se que tengo varios errores(pero como dicen con la practica se hace el maestro) y si alguien tiene la forma de lograrlo o de hacer el formulario se lo agradaceria tanto.......

Última edición por maverick3134; 09/09/2009 a las 12:27
  #2 (permalink)  
Antiguo 09/09/2009, 12:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: formulario para subir datos e imagenes a la BD para luego mostrarlos

¿Pero ya has hecho algo?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/09/2009, 12:28
 
Fecha de Ingreso: febrero-2009
Ubicación: Milan
Mensajes: 53
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: ayuda con formulario para subir datos e imagenes a la BD para luego mostra

si acabo de poner el codigo en el post, te lo agradesco
  #4 (permalink)  
Antiguo 09/09/2009, 13:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: ayuda con formulario para subir datos e imagenes a la BD para luego mostra

hola, tal vez éste código te ayude en algo, aqui solo hay que agregar los campos del formulario.

<label for="nombre">nombre</label>
<input type="text" name="nombre" id="nombre" />

** van dentro de la etiqueta **
<FORM ENCTYPE="multipart/form-data" ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="post">

ademas de los $_post['nombre del campo'];
que van despues del cierre del formulario, no lo puse por que cuando empece a poner éste código aun no se posteaba el tuyo...



<?PHP

/* ***** Ojo ******
Debes crear una carpteta llamada imagenes, ahí es donde se guardaran las imagenes que suban.
Esto es solo para estar un poco más organizado.
Esa es la ruta que deberan usar tambien al momento de mostrarlas.
*/


echo $_FILES['archivo']['name'] ;//contiene el nombre original del archivo
echo $_FILES['archivo']['size']; //contiene el tamaño en bytes de éste
echo $_FILES['archivo']['type'];// tipo de archivo

////////////////////////////////////// imagen //////////////////////////////////////////////////////////////////////
if (isset($_POST['enviar']))
{

if ($_FILES['archivo']['name'] != "" && $_FILES['archivo']['size'] != 0)
{

echo "Nombre: $archivo_name <BR>"; // nombre original del archivo
echo "Tamaño: $archivo_size <BR>"; // Tamaño en bytes del archivo
echo "Tipo: $archivo_type <BR>"; // tipo de archivo


// $directorio="../../practicas";
//$directorio="";
$viejo=$_FILES['archivo']['name'];
$nuevo='IMAGEN.jpg'; // este es el nombre con el cual nombraras tu imagen.



/* ***** Ojo ******
para que no reemplace la imagen, debes dar un valor diferente a $nuevo,
ejemplo $nuevo=$no_de_anuncio. Podrias llamar a la imagen con el $no_de_anuncio.
<img src="imagenes/<?php echo $no_de_anuncio ?>" width="110" height="81" />
*/


// Movemos el archivo subido, en la carpeta imagenes, con el nombre de la variable $nuevo
$sepudo=move_uploaded_file ($_FILES['archivo']['tmp_name'], "imagenes/".$nuevo);
echo "<BR>";
if ($sepudo)
{
echo " si se cambio el nombre";
}
else
{
echo "No se cambio el nombre";
}
}
}
/////////////////////////////// formulario /////////////////////////////////////////////////////////////////////////////
?>


<FORM ENCTYPE="multipart/form-data" ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="post">

<INPUT type="hidden" name="MAX_FILE_SIZE" value="10000000">

<label for="nombreimagen"></label>
<p><b>Archivo a descargar<b><br>

<INPUT type="file" name="archivo" size="35"></p>

<p><INPUT type="submit" name="enviar" value="Aceptar"></p>

</FORM>




<?php

//elimina archivos de la carpeta imagendes<br />
// donde $nuevo es el nombre del archivo a eliminar
//unlink("imagenes/".$nuevo);
?>




Espero y puedas personalizar y adaptar lo al tuyo.


Saludos y suerte.
  #5 (permalink)  
Antiguo 09/09/2009, 13:20
 
Fecha de Ingreso: febrero-2009
Ubicación: Milan
Mensajes: 53
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Respuesta: ayuda con formulario para subir datos e imagenes a la BD para luego mostra

no me kedo muy claro lo de los $_post['nombre del campo']; ahora mismo lo pruebo espero lograrlo ...te agradesco
  #6 (permalink)  
Antiguo 09/09/2009, 13:49
 
Fecha de Ingreso: febrero-2009
Ubicación: Milan
Mensajes: 53
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: ayuda con formulario para subir datos e imagenes a la BD para luego mostra

me carga la imagen a la carpeta con el nombre" imagen " pero cuando subo otra la remplaza siempre con el mismo nombre.

una pregunta que sucede con el campo nombre??? gracias verdaderamente !!


9vwSYk356536-02.jpg44752image/pjpeg
Notice: Undefined variable: archivo_name in D:\servers\EasyPHP5.3.0\www\annunci\form_mix.php on line 22
Nombre:

Notice: Undefined variable: archivo_size in D:\servers\EasyPHP5.3.0\www\annunci\form_mix.php on line 23
Tamaño:

Notice: Undefined variable: archivo_type in D:\servers\EasyPHP5.3.0\www\annunci\form_mix.php on line 24
Tipo:

si se cambio el nombre

nombre ->campo nombre

Archivo a descargar->pulsante
  #7 (permalink)  
Antiguo 10/09/2009, 22:16
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: ayuda con formulario para subir datos e imagenes a la BD para luego mostra

Hola

$_post['nombre del campo'];

Sirve para tomar los datos de los campos del formulario

ejemplo:
$nombre=$_post['nombre'];
$mail=$_post['mail'];

En estos casos tendria los datos del campo nombre y mail del usuario.
Donde nombre y mail son los nombres de tus cajas de texto en caso de que quieras todo en un formulario, nombre, mail, telefono y la opción de subir fotos.






Y para que ya no reemplace la imagen!
$nuevo='IMAGEN.jpg';

En lugar de la palabra IMAGEN, puedes usar cualquier otra variable (preferentemente que no se repita), por ejemplo el ID del anuncio.

$nuevo=$id_anuncio'.jpg';
Aquí el id_anuncio supongo que es diferente en cada uno, es decir que tienen por ejemplo 1000 anuncios, id_anuncio variará desde 1 hasta 1000.

y tendrás la imagen llamada 1, la imagen 2,3,4,5,6,7.....1000.







y la parte que dice:
echo $_FILES['archivo']['name'] ;//contiene el nombre original del archivo
echo $_FILES['archivo']['size']; //contiene el tamaño en bytes de éste
echo $_FILES['archivo']['type'];// tipo de archivo

lo puedes poner así..

/*
echo $_FILES['archivo']['name'] ;//contiene el nombre original del archivo
echo $_FILES['archivo']['size']; //contiene el tamaño en bytes de éste
echo $_FILES['archivo']['type'];// tipo de archivo
*/

Después de que termines de hacer pruebas, ya que solo muetra nombre, tamaño y tipo de archivo que subiste



Espero ahora si, haberme explicado mejor!

Suerte y si hay mas detalles por aca andamos!
  #8 (permalink)  
Antiguo 01/09/2010, 02:26
 
Fecha de Ingreso: febrero-2009
Ubicación: Milan
Mensajes: 53
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: ayuda con formulario para subir datos e imagenes a la BD para luego mostra

muchas gracias funciona perfectamente!!!!!!!!!
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 21:34.