Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2011, 12:52
Rudeck
 
Fecha de Ingreso: enero-2011
Ubicación: C,M
Mensajes: 44
Antigüedad: 13 años, 3 meses
Puntos: 2
No se envían datos e url de imagen a la BDD

Hola que tal, buen día. Tengo un formulario donde ingreso algunos datos y aparte envió imágenes (varias, usando Fichero[]) y no se si estoy mal en mi código, pero al submit no se envía nada, ni los datos del formulario, y solo 1 imagen, no se envían las otras seleccionadas en los input type file, utilizo dos tablas, una para imágenes y otra para los datos.

No se si tengo algún error, en el select, o en mis variables.

Este es mi codigo php


Código PHP:
        <?    
 
if(isset($_POST['submit'])) {
           

//Conectamos a la base de datos para almacenar los datos y la ruta del archivo, aunque ya tengamos archivo conexion

                 
mysql_connect('127.0.0.1','root','******')or die ('Ha fallado la conexión: '.mysql_error()); 
                 
mysql_select_db('obras')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 


  
//Carga los campos a los que se enviaran los datos
  
                                      
$obra $_POST["nombre"];
                                      
$ncontrato $_POST["ncontrato"];
                                      
$lugar $_POST["lugar"];
                                      
$fecha $_POST["fecha"];
                                      
$supervisor $_POST["snombre"];
                                      
$categoria $_POST["categoria"];
                 
//Inserta el Value de los campos a la tabla obras

                                    
$query="INSERT INTO obras (nombre,ncontrato,fecha,lugar,supervisor,categoria) VALUES ('$_POST[nombre]','$_POST[ncontrato]','$_POST[fecha]','$_POST[lugar]','$_POST[listasupervisor]','$_POST[listacategoria]')";
    
       
mysql_query($query) or die(mysql_error()); 
       echo 
"El archivo $nombre_archivo ha sido registrado de manera satisfactoria.<br />"
                 
                      
        }  
 if(isset(
$_POST['Submit'])) {
     
$cantidad2 =count($_FILES["fichero"]); 
        for (
$j=0;$j<=$cantidad2;$j++){ 
     
//Leer el nombre del fichero
     
$image=$_FILES['fichero']['name'][$j];
     
//Si no esta vacio
     
if ($image
     {
     
//Obtener el nombre original del fichero
         
$filename stripslashes($_FILES['fichero']['name'][$j]);
     
//Obtener la extension del fichero
          
$extension getExtension($filename);
         
$extension strtolower($extension);
     
//Si se da una extension descoocidad, imprimira error  
 
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif") && ($extension != "bmp")) 
         {
        
//Imprimir mensaje de error
             
echo '<h1>Extension desconocida!</h1>';
             
$errors=1;
         }
         else
         {
//Obtenemos el tmaño de la imagen en bytes
 //$_FILES['image']['tmp_name'] temporal fichero
//El archivo se almacena en el servidor
 
$size=filesize($_FILES['fichero']['tmp_name'][$j]);

//Se compara el tamaño del fichero
if ($size MAX_SIZE*1024)
{
    echo 
'<h1>Se a exedido del tamaño maximo.!</h1>';
    
$errors=1;
}

//Daremos un nombre unico con extension
$image_name=time().'.'.$extension;
//Donde se guardaran las imagenes
$newname="../images/".$image_name;
//Se verifica si fue subida, e imprime errores
$copied copy($_FILES['fichero']['tmp_name'][$j], $newname);

if (!
$copied
{
    echo 
'<h1>Copia realizada!</h1>';
    
$errors=1;
    
    
             
}}}}

           
}

//Si no hubo errores, imprimo mensaje 
 
if(isset($_POST['Submit']) && !$errors
 {
 
 
    
//Si la foto fue subida correctamente entonces procedo a aplicarle las etiquetas.

     
echo '<h3>Se ha subido la imagen con éxito  '.$newname.'. <br>
     
    
    
    $extension=$_POST['
type'];
    $image=$_POST['
name'];
    $size=$_POST['
size'];
    $url = $newname;
    $test=$_POST['
test'];
    $newLabel=$_POST['
newLabel'];
    if (($test || $newLabel) && $url){
    
        //Verifico que el archivo que acabo de insertar exista.
        if(file_exists($url))
        {
            mysql_query("insert into photos values ('','".$url."','
0','".$extension."','".$image."','".$size."')");
            $result = mysql_query("select id from photos where url='".$url."");
            $row = mysql_fetch_row($result);
            $photo_id = $row[0];
?>

Si alguien pudiera ayudarme, o darme alguna recomendación, lo agradecería.

EDIT: Por cierto, si selecciono varias imágenes me tira errores de extensión desconocida.
Saludos
Jakob

Última edición por Rudeck; 19/02/2011 a las 13:01