Foros del Web » Programando para Internet » PHP »

formulario con imágenes

Estas en el tema de formulario con imágenes en el foro de PHP en Foros del Web. buenas. a ver. soy novatillo en php (domino más asp). el tema es el siguiente. quiero hacer un formulario donde, entre otros campos, aparezca uno ...
  #1 (permalink)  
Antiguo 21/07/2006, 04:52
 
Fecha de Ingreso: junio-2006
Mensajes: 22
Antigüedad: 17 años, 10 meses
Puntos: 0
Mensaje formulario con imágenes

buenas. a ver. soy novatillo en php (domino más asp). el tema es el siguiente. quiero hacer un formulario donde, entre otros campos, aparezca uno que sea una imagen. cuando se envíe, lo que quiero es que la imagen quede almacenada en una carpeta concreta habilitada para ello llamada imagenes y el resto de datos vaya a una base de datos, donde además se insertará la dirección de esa imagen en esa carpeta o directorio. cómo hago todo esto? cómo hago para después mostrar esa información? por favor, es urgente y no sé por donde empezar. he estado buscando en el foro, pero no me aclaro como hacerlo. un saludo y gracias.
  #2 (permalink)  
Antiguo 21/07/2006, 05:03
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
pues tienes tu formulario :

Código:
<form enctype="multipart/form-data" name="ingresar" method="POST" action="ingresa.php" >
<input type="file" name="archivo" size="23"><br>
<input type="submit" name="enviar" value="ENVIAR">
<input type="hidden" name="max_file_size" value="100000">
</form>
en tu pagina ingresa.php tienes

Código PHP:
<?php
if(isset($_FILES['archivo'])){
 
    
$tamaño $_FILES['archivo']['size'];
    
$tipo $_FILES['archivo']['type'];
    if (!((
strpos($tipo"gif") || strpos($tipo"png") || strpos($tipo"jpeg")) && ($tamaño 640000))) {
        
$msq 'El archivo no cumple con las caracterizticas requeridas'
    }else{
        
/* Guardar el archivo */
        
$destino=$_FILES['archivo']['name'];
        if(
move_uploaded_file($_FILES['archivo']['tmp_name'],$destino)){
         
$msq '<br> El archivo '.$_FILES['archivo']['tu_carpeta']. ' ha sido guardao con exito!';
        }else{
            
$msq '<br> Ocurrio un Error al guardar el archivo!!!';
        }
    }
}
?> 
<?php
///////AHORA HACEMOS EL INGRESO :) 
?>
<?php
include "conectar.php"//tu archivo de coneccion

if (isset($_POST[enviar]))
{
 
mysql_query ("INSERT INTO tutabla"
                
." (FOTO)"
                
." Values"
                
." ('$destino')") or die ("Error ".mysql_error());
                                                                                                 
echo
"Los Datos del Alumno Han Sido Ingresados Correctamente.";
}
else
{
 echo
"";
}
}                                                                                                                                                                  
?>

Si te falla algo me dices ;)
  #3 (permalink)  
Antiguo 21/07/2006, 05:27
 
Fecha de Ingreso: junio-2006
Mensajes: 22
Antigüedad: 17 años, 10 meses
Puntos: 0
disculpa, porque seguramente lo que te pregunte ahora es una tontería pero ya te digo que en php estoy un poquillo pillado. bueno. en tu ejemplo, en el archivo ingresa.php, haces referencia a
///////AHORA HACEMOS EL INGRESO :)
?>
<?php
include "conectar.php"; //tu archivo de coneccion

if (isset($_POST[enviar]))
{
mysql_query ("INSERT INTO tutabla"
." (FOTO)"
." Values"
." ('$destino')") or die ("Error ".mysql_error());

echo"Los Datos del Alumno Han Sido Ingresados Correctamente.";
}
else
{
echo"";
}
}
?>
mi pregunta es: ¿Qué es el campo (FOTO) que tú tienes? y "Values", qué es? por otro lado, yo en mi formulario además de la imagen, añadiré por ejemplo el nombre, apellidos, etc... como ingresaría eso a la vez con la imagen en la bd? un saludo y disculpa mi ignorancia.
  #4 (permalink)  
Antiguo 21/07/2006, 05:35
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
De acuerdo Veamos :)

pues lo que puse de

////AHORA HACEMOS EL INGRESO es como a modo de señaletica....

todo lo qu eesta en ese codigo es parte de la pagina ingresa.php exepto
el formulario parte superior que lo puedes poner donde te guste :)
eso si ojala en tuna pagina .php que se index.php ;)

ahora bien el campo FOTO es el que se supone tienes en base de datos :)
y la parte superior es solo para validar imagene, entonces tienes el ingreso para la imagen y si queires aadir mas campos te quedaria por ej.....

Código PHP:
mysql_query ("INSERT INTO tutabla"
." (NOMBRE, APELLIDO, FOTO)"
." Values"
." ('$_POST[nombre]', '$_POST[apellido]', '$destino')") or die ("Error ".mysql_error()); 
que se supone NOMBRE es lo que tienes en tu base de datos igual que apellido y lo que envio por POST es lo que esta en tu formulario

<input type="text" name="nombre">
<input type="text" name="apellido">

:) Saludos
  #5 (permalink)  
Antiguo 21/07/2006, 05:36
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
Cita:
¿Qué es el campo (FOTO) que tú tienes? y "Values", qué es?
INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

col1,col2 --> campos a insertar

VALUES(15,col1*2) --> valores a insertar en dichos campos

mirate esta pagina para ver las instrucciones basicas de insercion, borrado, seleccion y actualizacion de una base de datos..

http://dev.mysql.com/doc/refman/5.0/en/insert.html
__________________
ALOZORRO v5.0 (ahora en .es)
  #6 (permalink)  
Antiguo 21/07/2006, 05:39
 
Fecha de Ingreso: junio-2006
Mensajes: 22
Antigüedad: 17 años, 10 meses
Puntos: 0
gracias. vamos a ver si puedo con ello. ya os contaré
  #7 (permalink)  
Antiguo 21/07/2006, 06:08
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 4 meses
Puntos: 1
Cita:
Iniciado por kaninox
pues tienes tu formulario :

Código:
<form enctype="multipart/form-data" name="ingresar" method="POST" action="ingresa.php" >
<input type="file" name="archivo" size="23"><br>
<input type="submit" name="enviar" value="ENVIAR">
<input type="hidden" name="max_file_size" value="100000">
</form>
en tu pagina ingresa.php tienes

Código PHP:
<?php
if(isset($_FILES['archivo'])){
 
    
$tamaño $_FILES['archivo']['size'];
    
$tipo $_FILES['archivo']['type'];
    if (!((
strpos($tipo"gif") || strpos($tipo"png") || strpos($tipo"jpeg")) && ($tamaño 640000))) {
        
$msq 'El archivo no cumple con las caracterizticas requeridas'
    }else{
        
/* Guardar el archivo */
        
$destino=$_FILES['archivo']['name'];
        if(
move_uploaded_file($_FILES['archivo']['tmp_name'],$destino)){
         
$msq '<br> El archivo '.$_FILES['archivo']['tu_carpeta']. ' ha sido guardao con exito!';
        }else{
            
$msq '<br> Ocurrio un Error al guardar el archivo!!!';
        }
    }
}
?> 
<?php
///////AHORA HACEMOS EL INGRESO :) 
?>
<?php
include "conectar.php"//tu archivo de coneccion

if (isset($_POST[enviar]))
{
 
mysql_query ("INSERT INTO tutabla"
                
." (FOTO)"
                
." Values"
                
." ('$destino')") or die ("Error ".mysql_error());
                                                                                                 
echo
"Los Datos del Alumno Han Sido Ingresados Correctamente.";
}
else
{
 echo
"";
}
}                                                                                                                                                                  
?>

Si te falla algo me dices ;)

BUENOS DIAS, UNA PREGUNTA COMO SE EN QUE CARPETA (DESTINO) VOY A SUBIR LAS FOTOS, YA QYE VIENDO EL CODIGO NO ENCUENTRO O VIZUALIZO LA CARPETA EN DONDE ESTARA ESA FOTOS, ME LO PUEDEN EXPLICAR POR FAVOR.

ESTE PARTE LO NECESITO PARA UN MODULO QUE ESTOY HACIENDO PLIS. OTRA COSA COMO RECOGO EL NOMBRE DE LA FOTO PARA TAMBIEN GUARDARLA EN LA BASE DATOS

GRACIAS
__________________
Miguel Padrón :cool:
  #8 (permalink)  
Antiguo 21/07/2006, 08:39
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 4 meses
Puntos: 1
Ya le resolvi, aqui esta el codigo para el que lo necesite:

Código PHP:
<?php 
if (isset($_POST['submit'])) {  
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
    
include("conex.php");
$link=conectar();

$fecha=$_POST['fecha'];
echo 
$fecha."<BR>";
$titulo=$_POST['titulo'];
echo 
$titulo."<BR>";
$resumen=$_POST['resumen'];
echo 
$resumen."<BR>";
$contenido=$_POST['contenido'];
echo 
$contenido."<BR>";


$ruta"text/".$_FILES['fichero']['name']; // Se guardaría dentro de "carpeta" con el nombre original 
// $ruta= "carpeta/nuevo_nombre.jpg"; si también se quiere renombrar 
//move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta); 
$ruta_del_archivo $_FILES['fichero']['name'];  


        if(
move_uploaded_file($_FILES['fichero']['tmp_name'],  $ruta)) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>";
                     
mysql_query ("INSERT INTO noticias" 
                
." (Fotos,Fecha2,Titulo,Resumen,Contenido)" 
                
." Values" 
                
." ('$ruta_del_archivo','$fecha','$titulo','$resumen','$contenido')",$link) or die ("Error ".mysql_error()); 

            echo 
"Nombre: <i><a href=\"text/".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
        } 
    } 

// A continuación el formulario 

?>
Espero le sirva
__________________
Miguel Padrón :cool:
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 01:33.